Jump to content
Larry Ullman's Book Forums

Chapter 13, Email Contact Form Error


Recommended Posts

Hi. I'm using xampp 1.8.0 with Windows 7 SP1, 32 bit OS, and coding HTML5 and CSS3. I'm just learning PHP, and I created a contact form. I'm using Javascript to check if the form was filled out properly, so I didn't use some of the code shown in the book, and I did not scrub the date, time, and priority fields. The error message is: Parse error: syntax error, unexpected '&&' (T_BOOLEAN_AND), expecting ')' on the line that reads: if (!empty($scrubbed['name']) && !empty($scrubbed['email']) && !empty($scrubbed['tel'] && !empty($scrubbed['description']) ). Thanks.

 

<?php

if ($_SERVER['REQUEST_METHOD'] == 'POST')

{

function spam_scrubber($value)

{

$very_bad = array('to:', 'cc:', 'bcc:', 'content-type:', 'mime-version:', 'multipart-mixed:', 'content-transfer-encoding:');

 

foreach ($very_bad as $v) {

if (stripos($value, $v) !== false) return '';

}

 

$value = str_replace(array( "\r", "\n", "%0a", "%0d"), ' ', $value);

 

return trim($value);

}

 

$scrubbed = array_map('spam_scrubber', $_POST);

 

if (!empty($scrubbed['name']) && !empty($scrubbed['email']) && !empty($scrubbed['tel'] && !empty($scrubbed['description']) )

{

$body = "Name: {$scrubbed['name']}\nEmail: {$scrubbed['email']}\nPhone: {$scrubbed['tel']}\nPriority: {$_POST['priority']}\nDate: {$_POST['date']}\nTime: {$_POST['s2Time1']}\nDescription: {$scrubbed['description']}";

 

$body = wordwrap($body, 70);

 

mail('mail@yahoo.com', 'Contact Form Submission', $body, "From: {$scrubbed['email']}");

 

echo '<p>Thank you for your request. A member of our staff will be contacting you shortly.</p>';

 

$scrubbed = array();

}

 

?>

 

<div id="form">

<div id="contain">

 

<form action="RequestAppt2.php" method="post">

 

<table class="form_demo">

<tr>

<td>

<label>Name</label>

</td>

<td>

<input class="input_full" type="text" id="name" name="name" required="required" />

</td>

</tr>

<tr>

<td><label for="email">

Email

</label>

</td>

<td>

<input class="input_full" type="email" id="email" name="email" required="required" />

</td>

</tr>

<tr>

<td>

<label for="tel">

Phone

</label>

</td>

<td>

<input class="input_full" type="tel" id="tel" name="tel" required="required" />

</td>

</tr>

<tr>

<td><label for="priority_normal">

Priority

</label>

</td>

<td>

<input type="radio" name="priority" id="priority_urgent" value="Urgent">

<label for="priority_urgent">

Urgent

</label>

 

 

<input type="radio" name="priority" id="priority_normal" value="Normal" checked="checked">

<label for="priority_normal">

Normal

</label>

 

 

</td>

</tr>

<tr>

<td>

<label for="date">Enter a date:</label>

</td>

<td>

<input class="input_xlarge" type="text" id="date" name="date" required="required" />

 

<script>

(function($){

var pickerOpts = {

minDate: new Date(),

maxDate: "+3m,",

showButtonPanel: true,

showOn: "button",

 

buttonImage: "images/cal.png",

};

$("#date").datepicker(pickerOpts);

})(jQuery);

</script>

</td></tr>

<tr><td>Enter a time: </td>

<td><input id="time1" name="s2Time1" />

 

<script type="text/javascript">

$('#time1').ptTimeSelect({ popupImage: 'Select Time' });

</script>

</td>

</tr>

 

<tr>

<td>

<label for="description">

Reason for<br />

appointment

</label>

</td>

<td>

<textarea id="description" name="description" rows="3" required="required"></textarea>

</td>

</tr>

 

</table>
Link to comment
Share on other sites

 Share

×
×
  • Create New...