<?php
function validate()
{
global $error; // we gebruiken de $error van de 'global space' anders zou deze variabele bij het verlaten van de functie niet meer in het geheugen aanwezig zijn
if(strlen($_POST['naam']) < 2) { // als de voornaam korter is als twee karakters
$error = 'Vul aub uw naam in!';
return FALSE; // verlaat de functie en geef een FALSE terug
}
if(strlen($_POST['e-mail']) < 6) { // als het e-mailadres korter is als zes karakters
$error = 'Vul aub uw e-mail adres in!';
return FALSE; // verlaat de functie en geef een FALSE terug
}
if(strlen($_POST['bericht']) < 9) { // als het bericht korter is als negen karakters
$error = 'Uw bericht is te kort. Uw bericht moet minstens 10 karakters bevatten. ';
return FALSE; // verlaat de functie en geef een FALSE terug
}
return TRUE; // uiteindelijk als er geen fouten gevonden zijn geven we een TRUE terug
}
function sendMail($voornaam, $achternaam, $email, $bericht, $nieuwsbericht)
{
// HEADERS
$headers = "From: $email\n ".$voornaam." <".$achternaam.">\r\n"; // de afzender
$headers .= "Reply-To: $email ($voornaam)\r\n";
$headers .= "Return-Path: $email ($voornaam)\r\n";
// headers voor html-mail:
$headers .= "MIME-version: 1.0\r\n"; // geeft aan dat het bericht gebruik maakt van de Multipurpose Internet Mail Extensions (MIME). Staat toe HTML in emailberichten te gebruiken.
$headers .= "content-type: text/html;charset=utf-8\r\n"; // geeft aan dat de inhoud een combinatie van tekst en HTML is en geeft tevens aan welke karakterset is gebruikt.
// overige mail-gerelateerde zaken
$naar = 'info@example.nl'; // Waar moet het naartoe?
$onderwerp = 'Contactformulier via website'; // Het onderwerp van het bericht
// Verstuur de e-mail
return mail($naar, $onderwerp, $bericht, $headers);
}
// initialisatie van de variabelen
$error = '';
$naam = '';
$email = '';
$bericht = '';
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
// Invoer uit het contactformulier
$naam = $_POST['naam']; // overschrijf de waarde van de variabele $voornaam
$email = $_POST['email']; // overschrijf de waarde van de variabele $email
$bericht = $_POST['bericht']; // overschrijf de waarde van de variabele $bericht
if(validate()) // we roepen onze functie validate aan en kijken of we een TRUE of FALSE terugkrijgen.
{
if(sendMail($naam, $email, $bericht,) {
// nu naar een andere pagina sturen
header('Location: bedankt.php');
} else {
echo 'Het bericht kon helaas niet verzonden worden.';
}
exit;
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
</head>
<body>
<form method="post" action="">
<div id="error">
<?php echo $error; ?>
</div>
<div class="form-row">
<label for="voornaam">Je voornaam *</label>
<input type="text" id="voornaam" name="voornaam" value="<?php echo $voornaam; ?>" />
</div>
<br>
<div class="form-row">
<label for="achternaam">Je achternaam *</label>
<input type="text" id="achternaam" name="achternaam" value="<?php echo $achternaam; ?>" />
</div>
<br>
<div class="form-row">
<label for="email">Je e-mail adres *</label>
<input type="text" id="email" name="email" value="<?php echo $email; ?>" />
</div>
<br>
<div class="form-row">
<label for="bericht">Je bericht *</label>
<textarea cols="50" rows="12" name="bericht" wrap="virtual" value="<?php echo $bericht; ?>" ></textarea>
</div>
<br>
<div class="form-row">
<input type="checkbox" id="newsletter" name="newsletter" value="1" <?php if($nieuwsbericht) echo 'checked="checked"'; ?> />
<label for="newsletter">Ja, ik ontvang graag de nieuwsbrief</label>
</div>
<div class="form-row">
<input type="submit" name="verzendenknop" value="Verzenden" />
</div>
<p>Alle velden gemarkeerd met een * zijn verplicht.</p>
<br>
<br>
</form>
</body>
</html>