Omdat ik blijkbaar in een goede bui ben heb ik je hele script aangepast.
Let op het commentaar op de ######### regels #########
Daar moet nog wel wat aan gedaan worden. Verder moet je zelf de diverse $length aanpassen naar de waarde die jij wilt hebben. Ook kun je eventueel de patterns voor de preg_match() aanpassen.
Het script geeft hier geen fouten.
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
function checkemail($email)
{
// Kijk of er een @ in zit, zo nee false
if(!stristr($email, '@'))
{
return false;
}
$email_split = explode("@", $email);
// Er mag slecht één @ inzitten dus het array moet 2 records tellen
if(count($email_split) != 2)
{
return false;
}
$email_user = $email_split[0];
$email_host = $email_split[1];
// Kijk of er MX-servers zijn, zo nee false
if(!getmxrr($email_host, $var))
{
return false;
}
// Kijk of het usergedeelte okee is, zo nee false
if(!preg_match("/^[0-9a-z]([-_.~]?[0-9a-z])*$/i", $email_user))
{
return false;
}
return true;
}
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
//Validatie
$errors = array();
/** Validate naam1 */
$length = 2;
$naam1 = (isset($_POST['naam1'])) ? trim($_POST['naam1']) : '';
$naam1Pattern = '/^[ÄËÏÖÜŸÀÈÌÒÙÁÉÍÓÚÝÂÊÎÔÛäëïöüÿàèìòùáéíóúýâêîôûãõÇçA-Za-z]+$/';
if(($naam1 == '') or !(strlen($naam1) >= $length and preg_match($naam1Pattern, $naam1)))
{
$errors[] = "De voornaam is niet geldig!<br> \n";
}
/** Validate naam2 */
$length = 5;
$naam2 = (isset($_POST['naam2'])) ? trim($_POST['naam2']) : '';
$naam2Pattern = '/^[ÄËÏÖÜŸÀÈÌÒÙÁÉÍÓÚÝÂÊÎÔÛäëïöüÿàèìòùáéíóúýâêîôûãõÇçA-Za-z]+$/';
if(($naam2 == '') or !(strlen($naam2) >= $length and preg_match($naam2Pattern, $naam2)))
{
$errors[] = "De achternaam is niet geldig!<br> \n";
}
/** Validate e-mail address */
$mail = (isset($_POST['mail'])) ? trim($_POST['mail']) : '';
if(!checkemail($mail))
{
$errors[] = "Het e-mailadres is niet geldig!<br> \n";
}
/** Validate onderwerp */
$length = 5;
$onderwerp = (isset($_POST['onderwerp'])) ? trim($_POST['onderwerp']) : '';
$onderwerpPattern = '/^[ÄËÏÖÜŸÀÈÌÒÙÁÉÍÓÚÝÂÊÎÔÛäëïöüÿàèìòùáéíóúýâêîôûãõÇçA-Za-z]+$/';
if(($onderwerp == '') or !(strlen($onderwerp) >= $length and preg_match($onderwerpPattern, $onderwerp)))
{
$errors[] = "Het onderwerp is niet geldig!<br> \n";
}
/** Validate telefoon */
$telefoon = (isset($_POST['telefoon'])) ? trim($_POST['telefoon']) : '';
$telefoonPattern = '/^[0-9\-]+$/';
if(($telefoon == '') or !(preg_match($telefoonPattern, $telefoon)))
{
$errors[] = "Het telefoonnummer is niet geldig!<br> \n";
}
/** Validate bericht */
$length = 5;
$bericht = (isset($_POST['bericht'])) ? trim($_POST['bericht']) : '';
if(($bericht == '') or (strlen($bericht) < $length))
{
$errors[] = "Het bericht moet minimaal " . $length . " tekens lang zijn!<br>\n\n";
}
if(count($errors) > 0)
{
foreach($errors as $line)
{
echo $line;
}
echo '<br>Sorry, maar helaas ben u iets vergeten, of heeft u iets verkeerd ingevuld!!<br><br>';
echo '<button type="button" onclick="history.go(-1);">Terug naar formulier</button>';
}
else
{
$kaartleggen = (isset($_POST['kaartleggen'])) ? "Ja, wel informatie" : "Nee, geen informatie";
$orakel = (isset($_POST['orakel'])) ? "Ja, wel informatie" : "Nee, geen informatie";
$tenen = (isset($_POST['tenen'])) ? "Ja, wel informatie" : "Nee, geen informatie";
$coaching = (isset($_POST['coaching'])) ? "Ja, wel informatie" : "Nee, geen informatie";
$individueel = (isset($_POST['individueel'])) ? "Ja, wel informatie" : "Nee, geen informatie";
// Bericht
$mailsupport= "
[email protected]";
$titel= "mijn domeinnaam - " . $onderwerp;
$mssg = "Ingevuld Contact Formulier \n\n";
$mssg .= "Voornaam: " .$naam1 . "\n";
$mssg .= "Achternaam: " .$naam2 . "\n";
$mssg .= "Telefoon: " .$telefoon . "\n";
$mssg .= "E-mailadres: " .$mail . "\n";
$mssg .= "Onderwerp: " .$onderwerp . "\n";
$mssg .= "Wilt u mij bellen over: \n";
$mssg .= "*Informatie Tarot Kaartleggen: " .$kaartleggen . "\n";
$mssg .= "*Informatie Orakel Snuffelen: " .$orakel . "\n";
$mssg .= "*Tenen lezen Online: " .$tenen . "\n";
$mssg .= "*Coaching: " .$coaching . "\n";
$mssg .= "*Individuele Workshop: " .$individueel . "\n";
################ tijdstip bestaat niet ######################################
// $mssg .= "Voorkeur voor tijdstip: " .$tijdstip . "\n";
$mssg .= "Bericht:" . "\n";
$mssg .= htmlentities($bericht) . "\n\n";
$mssg .= 'Dit bericht is verstuurd op'. date("d.m.Y H:i") .' van het ip adres ' . $_SERVER['REMOTE_ADDR'] . '.';
//Afzender
############################ headers zijn NIET correct #######################
$headers = "From: " . $naam1 .' '. $naam2 . " <" . $mail . ">";
####################### kijk liever naar phpmailer/swiftmailer ###############
mail($mailsupport, $titel, $mssg, $headers);
header('Location:
http://www.example.com/location.php';);
exit();
}
}
?>