rand(1, 10), 'num2' => rand(1, 10), 'answer' => 0 // This will be calculated later ]; $_SESSION['captcha']['answer'] = $_SESSION['captcha']['num1'] + $_SESSION['captcha']['num2']; } // Check if form is submitted if ($_SERVER["REQUEST_METHOD"] == "POST") { $name = trim($_POST['name']); $email = trim($_POST['email']); $subject = trim($_POST['subject']); $message = trim($_POST['message']); $captcha_input = isset($_POST['captcha']) ? (int)$_POST['captcha'] : 0; // Validate CAPTCHA if ($captcha_input !== $_SESSION['captcha']['answer']) { echo "
Incorrect CAPTCHA answer. Please try again.
"; } else { // Send the email $to = "gary@uklb.co.uk"; // TEST EMAIL DESTINATION $headers = "From: $email" . "\r\n" . "Reply-To: $email" . "\r\n" . "X-Mailer: PHP/" . phpversion(); $body = "You have received a new message from $name.\n\n" . "Subject: $subject\n\n" . "Message:\n$message"; if (mail($to, $subject, $body, $headers)) { echo "
Thank you for contacting us. We will get back to you shortly.
"; } else { echo "
There was an error sending your message. Please try again.
"; } // Generate a new CAPTCHA for the next submission $_SESSION['captcha'] = [ 'num1' => rand(1, 10), 'num2' => rand(1, 10), 'answer' => 0 ]; $_SESSION['captcha']['answer'] = $_SESSION['captcha']['num1'] + $_SESSION['captcha']['num2']; } } ?>

Get in touch