Hi all,

I'm having some trouble getting my php code to work properly. I'm submitting three different variables from a vxml form to my php. I then need the php to deposit the variables into files and update a mysql database accordingly, but it's not quite doing what I want it to.

The code is run from a webserver via an AIX server.

Here's my php code that I got so far:


header('Content-type: application:voicexml+xml; charset=iso-8859-1');
header('Content-Encoding: iso-8859-1');

echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n";
echo "<vxml version=\"2.1\" xmlns=\"http://www.w3.org/2001/vxml\" xml:lang=\"en-GB\">";

echo "<property name=\"inputmodes\" value=\"dtmf\"/>";
echo "<form>";
echo "<block>";

$msg = "";
$msg2 = "";
$code = 1;
$wavName = "";
$wavAudition = "";
$number = "";

if (is_uploaded_file($tmpFile)) {

copy($tmpFile, sprintf("%s", $wavName));
$msg = "audio saved";
echo "saved name";

} else {

$code = 0;
$msg = "unable to save audio";
echo "not saved";



if (is_uploaded_file($tmpFile)) {

$wavAudition = "audition/".date("YmdHis").".wav";
copy($tmpFile, sprintf("%s", $wavAudition));
$msg2 = "audio saved";
echo "saved audition";

} else {

$code = 0;
$msg2 = "unable to save audio";
echo "not saved";


$tmpFile = $HTTP_POST_FILES;

if (is_uploaded_file($tmpFile)) {

copy($tmpFile, sprintf("%s", $number);


$con = mysql_connect("localhost","username","password");

if (!$con) {

die('Could not connect: ' . mysql_error());


mysql_select_db("Database Name", $con);

$callDate = date("Ymd");
$callTime = date("His");
$sql="INSERT INTO table (calContactDir, calContactNum, calAuditionDir, calDate, calTime)
('$wavName','$number','$wavAudition', '$callDate', '$callTime')";

if (!mysql_query($sql,$con)) {

die('Error: ' . mysql_error());


$sql="SELECT calUniqueID FROM Caller WHERE calContactDir = '$wavName'";

$uniqueID = mysql_query($sql,$con);


echo "<audio src=\"file:///170.wav\" maxage=\"0\"/>";
echo "<prompt>$callDate</prompt>";
echo "<audio src=\"file:///171.wav\" maxage=\"0\"/>";
echo "<prompt>$uniqueID</prompt>";
echo "<goto next=\"file:///Audition_test.vxml#closing\"/>";
echo "</block>";
echo "</form>";
echo "</vxml>";


The files are submitted with the following line of code:

<submit next="submit.php" namelist="rec_name contact_number rec_audition" method="POST" enctype="multipart/form-data"/>

The problem is that it isn't depositing the variables into files and it's only inserting values into the time and date sections of the mysql database.

I have removed certain elements of the code as I'm under a Non Disclosure Agreement concerning the application and I don't want to place our database details, etc. out in the open (hope no one minds).

If anyone could help me out that would be greatly appreciated.

I don't see where you are grabbing the submitted data. Normally this would be something like:
$wavName = $_POST;

The submitted data may be in $_POST or in $_REQUEST. Try print_r($_POST); or print_r($_REQUEST); and you should see what you need to do.