I have the below form.php for the contact form on my website. For some reason it is not allowing me to provide the URL.
When the form is submitted nothing is received. However, when I remove the line of code “info”, it sends the email then. Please help, my clients need this resolved as soon as possible. Thank You so much.
[php]<?php
if(file_exists(’…/…/…/…/wp-load.php’)) :
include ‘…/…/…/…/wp-load.php’;
else:
include ‘…/…/…/…/…/wp-load.php’;
endif;
// Clean up the input values
foreach($_POST as $key => $value) {
if(ini_get(‘magic_quotes_gpc’))
$_POST[$key] = stripslashes($_POST[$key]);
$_POST[$key] = htmlspecialchars(strip_tags($_POST[$key]));
}
// Assign the input values to variables for easy reference
$name = $_POST[‘name’];
$email = $_POST[‘email’];
$message = $_POST[‘message’];
$info = $_POST[‘info’];
// Test input values for errors
$errors = array();
if(strlen($name) < 2) {
if(!$name) {
$errors[] = “You must enter a name.”;
} else {
$errors[] = “Name must be at least 2 characters.”;
}
}
if(!$email) {
$errors[] = “You must enter an email.”;
} else if(!validEmail($email)) {
$errors[] = “You must enter a valid email.”;
}
if(strlen($message) < 10) {
if(!$message) {
$errors[] = “You must enter a message.”;
} else {
$errors[] = “Message must be at least 10 characters.”;
}
}
if($errors) {
// Output errors and die with a failure message
$errortext = “”;
foreach($errors as $error) {
$errortext .= “
}
die(“The following errors occured:
- ”. $errortext ."
}
// Send the email
$to = $data[‘text_contact_email’];
$subject = ‘Contact Form: $name’;
$message = ‘$message’;
$headers = ‘From: $email’;
$info = 'Date: ’ . $date . “\n”;
$info .= 'Ceremony Site: ’ . $ceremonysite . “\n”;
$info .= 'Reception Site: ’ . $receptionsite . “\n”;
mail($to, $subject, $message, $headers, $info);
// Die with a success message
die(“Thank you for contacting BG Productions! Your message has been sent. I’ll be in touch pretty soon!”);
// A function that checks to see if
// an email is valid
function validEmail($email)
{
$isValid = true;
$atIndex = strrpos($email, “@”);
if (is_bool($atIndex) && !$atIndex)
{
$isValid = false;
}
else
{
$domain = substr($email, $atIndex+1);
$local = substr($email, 0, $atIndex);
$localLen = strlen($local);
$domainLen = strlen($domain);
if ($localLen < 1 || $localLen > 64)
{
// local part length exceeded
$isValid = false;
}
else if ($domainLen < 1 || $domainLen > 255)
{
// domain part length exceeded
$isValid = false;
}
else if ($local[0] == ‘.’ || $local[$localLen-1] == ‘.’)
{
// local part starts or ends with ‘.’
$isValid = false;
}
else if (preg_match(’/\.\./’, $local))
{
// local part has two consecutive dots
$isValid = false;
}
else if (!preg_match(’/^[A-Za-z0-9\-\.]+$/’, $domain))
{
// character not valid in domain part
$isValid = false;
}
else if (preg_match(’/\.\./’, $domain))
{
// domain part has two consecutive dots
$isValid = false;
}
else if(!preg_match(’/^(\\.|[A-Za-z0-9!#%&`_=\/$’*+?^{}|~.-])+$/’,
str_replace("\\","",$local)))
{
// character not valid in local part unless
// local part is quoted
if (!preg_match(’/^"(\\"|[^"])+"$/’,
str_replace("\\","",$local)))
{
$isValid = false;
}
}
if ($isValid && !(checkdnsrr($domain,“MX”) || checkdnsrr($domain,“A”)))
{
// domain not found in DNS
$isValid = false;
}
}
return $isValid;
}
?>[/php]