Hallo,
Ik heb een contactformuliertje ingebouwd in mijn website. Dit scriptje controleert of de velden juist zijn ingevuld en zo niet worden er errorberichten getoond. Wanneer deze errorberichten verschijnen, verdwijnt mijn footer. Ik denk dat dit komt door de die() functie die ik gebruik. Hoe kan ik dit anders doen?
Hier is mijn code:
<?php
if(isset($_POST['email']))
{
$to = "[email protected]";
$subject = "Mail van lucbax.be";
function died($error) {
// your error code can go here
echo "Het formulier is niet correct ingevuld:";
echo "<br>".$error."<br><br>";
die();
}
//Velden Contactform
$name = $_POST['name']; // required
$address = $_POST['address']; //not required
$email = $_POST['email']; // required
$telephone = $_POST['telephone']; // required
$message = $_POST['message']; // required
}
?>
<?php
//Controle op de velden
$error_message = "";
//Controle naam
$name_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($name_exp,$name)) {
$error_message .= "<p>De ingevoerde naam is onjuist</p>";
}
//////////////////////
//Adres not required//
//////////////////////
//Controle telefoonnummer
$phone_exp = "/^\d[\d ]*\d$/";
if(!preg_match($phone_exp,$telephone)) {
$error_message .= "<p>Het ingevoerde telefoonnummer is onjuist</p>";
}
//Controle email
$email_exp = "/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/";
if(!preg_match($email_exp,$email))
{
$error_message .= "<p>Het ingevoerde emailadres is onjuist</p>";
}
//Controlebericht
if(strlen($message) < 10) {
$error_message .= "<p>Het ingevoerde bericht is te kort</p>";
}
//Als er errors zijn, mail niet versturen --> die(errors)
if(strlen($error_message) > 0)
{
echo "<div id='error'>";
died($error_message);
echo "</div>";
}
else
{
echo "bericht verstuurd";
}
//Mail message
$email_message = "Naam: ".$name."\n";
$email_message .= "Adres: ".$address."\n";
$email_message .= "Telefoon: ".$telephone."\n";
$email_message .= "Email: ".$email."\n"."\n";
$email_message .= "Bericht: ".$message."\n";
mail($to, $subject, $email_message);
?>
1.339 views