I'm working on a
PHP contact form, but I can't get it to work. I get the following error in the Apache server log, running on an Ubuntu Server VM:
PHP Parse error: syntax error, unexpected $end in /home/matthew/Sites/contactFormResponse.
php on line 75, referer: http://192.168.1.4/contactForm.
php
From googling this error, it sounds like it's normally caused by either using the short
PHP tag when the server's not set up to recognise them, or by having a block of code that isn't closed correctly. But as far as I can see that isn't the case here - as far as I can see it's all closed correctly.
Here's the
PHP code:
<?php
error_reporting(E_ALL);
// Define variables to hold the name, email address and message, and import the information into the variables
$name = $_POST['NameInput'];
$email = $_POST['EmailAddress'];
$telno = $_POST['ContactNumber'];
$querytype = $_POST['QueryType'];
$bookingstartdate = $_POST['BookingStartDay'] . $_POST['BookingStartMonth'] . $_POST['BookingStartYear'];
$bookingenddate = $_POST['BookingEndDay'] . $_POST['BookingEndMonth'] . $_POST['BookingEndYear'];
$message = $_POST['QueryText'];
// Validate the inputs - send it if it's OK
if(3 < strlen($name) && 3 < strlen($email))
{
$email_message = <<< EMAIL
Message from contact form at holidaychalet.co.uk
Name: $name
Email: $email
Contact Number: $telno
Query Type: $querytype
Booking Start Date: $bookingstartdate
Booking End Date: $bookingenddate
The message:
$message
EMAIL;
$headers = "cc:
[email protected]\r\n";
if(mail('matthew@localhost','Contact form email', $email_message, $headers))
{
echo "Thanks for completing the form! I'll be in touch shortly!";
}
else
{
echo "Something went wrong - please use the back button and try again";
}
}
else
{
echo "You didn't complete the form fully enough! Please use go back using your web browser's back button";
}
?>