Grafica Posted August 10, 2012 Share Posted August 10, 2012 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 More sharing options...
Larry Posted August 10, 2012 Share Posted August 10, 2012 You're missing the closing parentheses after empty($scrubbed['tel'] You'd probably be better off with an editor that offers some syntax highlighting. That would help you catch some of these. Link to comment Share on other sites More sharing options...
Grafica Posted August 12, 2012 Author Share Posted August 12, 2012 Thank you. That got rid of the error, and then I had other errors, which I was able to fix using NetBeans. I had been reluctant to use it, because it doesn't have word wrap, which is inconvenient. Link to comment Share on other sites More sharing options...
Recommended Posts