I have been finding it difficult to understand the error statement I recieved from my php file using the code below. I keep on getting this result:
Parse error: syntax error, unexpected T_STRING, expecting '(' in /home/username/public_html/application_form.php on line 28

<?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>

<body>
<?PHP
$Surname = $_POST['Surname'];
$OtherNames = $_POST['OtherNames'];
$Dateofbirth = $_POST['Dateofbirth'];
$age = $_POST['age'];
$sex = $_POST['sex'];
$Nationality = $_POST['Nationality'];
$stateoforigin = $_POST['stateoforigin'];
$Entryclassonrequest = $_POST['Entryclassonrequest'];
$religion = $_POST['religion'];
$parentsguardiansname = $_POST['parents/guardiansname'];
$occupation = $_POST['occupation'];
$phonenumbers = $_POST['phonenumbers'];
$whomchildliveswith = $_POST['whomchildliveswith'];
$previousschool = $_POST['previousschool'];
$imunizationdetails = $_POST['imunizationdetails'];
$target_address = 'info@uniqueeducationltd.com';
$headers = "Online Application Form Details";
if mail'('$Surname, $Othernames, $dateofbirth, $age, $sex')' {
echo(("<p><font color=#333366"<b>Thank you for your application, we will get back to you as soon as we can.</b></p>"));
}
else{
echo("<p><font color=#008000"><span class="style1"><strong><font size="5">Sorry Your form submission had some errors. Try again later.</b></p>");
die();
}
?>
</body>
</html>

Please someone help me out to rewrite line 28(highlighted in green color) as pointed out by the feedback. It is urgent.

Recommended Answers

All 2 Replies

PHP variables are case sensitive. $Othernames is not the same as $OtherNames and $dateofbirth is not the same as $Dateofbirth . There are also some syntax issues.

So

if mail'('$Surname, $Othernames, $dateofbirth, $age, $sex')'

should be

if(mail($Surname, $OtherNames, $Dateofbirth, $age, $sex))

Also, please surround your code with [code=php]php code here [/code] tags when posting.

<?PHP
$Surname = $_POST['Surname'];
$OtherNames = $_POST['OtherNames'];
$Dateofbirth = $_POST['Dateofbirth'];
$age = $_POST['age'];
$sex = $_POST['sex'];
$Nationality = $_POST['Nationality'];
$stateoforigin = $_POST['stateoforigin'];
$Entryclassonrequest = $_POST['Entryclassonrequest'];
$religion = $_POST['religion'];
$parentsguardiansname = $_POST['parents/guardiansname'];
$occupation = $_POST['occupation'];
$phonenumbers = $_POST['phonenumbers'];
$whomchildliveswith = $_POST['whomchildliveswith'];
$previousschool = $_POST['previousschool'];
$imunizationdetails = $_POST['imunizationdetails'];
$target_address = 'info@uniqueeducationltd.com';
$headers = "Online Application Form Details";
if mail'('$Surname, $Othernames, $dateofbirth, $age, $sex')' {
echo(("<p><font color=#333366"<b>Thank you for your application, we will get back to you as soon as we can.</b></p>"));
}
else{
echo("<p><font color=#008000"><span class="style1"><strong><font size="5">Sorry Your form submission had some errors. Try again later.</b></p>");
die();
}
?>
<?PHP

extract( $_POST, EXTR_PREFIX_ALL, 'post_' );
$target_address = 'info@uniqueeducationltd.com';
$sSubject = "Online Application Form Details";

$sMessage =  'Surname: ' . $post_Surname . "\n";
$sMessage . = 'Other Names: ' . $post_OtherNames . "\n";
$sMessage . = 'Date of Birth: ' . $post_Dateofbirth . "\n";
$sMessage . = 'Age: ' . $post_age . "\n";
$sMessage . = 'Sex: ' . $post_sex  . "\n";

if ( mail( $target_address, $sSubject, $sMessage )  )
{
  echo '<p><font color=#333366"<b>Thank you for your application, we will get back to you as soon as we can.</b></p>';
}
else
{
  echo '<p><font color=#008000"><span class="style1"><strong><font size="5">Sorry Your form submission had some errors. Try again later.</b></p>';
die();
}

I used extract to simplify the creation of local variables based on the keys of your POST array. However, unless you're actually sanitizing or validating the data before it gets emails, which you should, there is no reason to create local variables. If you are emailing the raw data anyways, then just use the $_POST values directly. But, you should really be cleaning the input.

I also corrected your usage of mail()

**This is untested

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.