Probeer dit eens:
PHP:
<?php
//Deze functie controleert of alle verplichte velden ingevuld zijn
function gegevenstesten($voornaam,$achternaam,email,$opmerkingen)
{
// We gaan er vanuit dat alles goed is ingevuld
$ok = true;
// Nu gaan we alle velden langs. Als blijkt dat iets niet ingevuld is, wordt ok false.
//let op: als je meer of andere velden verplicht wil hebben, verander deze dan zowel in de array $vars als in de functieparameters.
$vars = array('voornaam', 'achternaam', 'email', 'opmerkingen');
foreach($vars as $var) {
$$var = trim($$var); // spaties eraf halen
if (isempty($$var)) {
$ok = false; // als hij leeg is, is 't niet meer ok
}
}
return $ok;
}
//Als het formulier verzonden is, gaan we eerst controleren of alles ingevuld is, en dan pas de mail versturen
if ($_POST) {
if (get_magic_quotes_gpc()) {
foreach ($_POST as $key => $value) {
$temp = stripslashes($value);
$_POST[$key] = $temp;
}
}
//$_POST gegevens eerst maar even omzetten naar nette variabelen
$voornaam = $_POST['voornaam'];
$achternaam = $_POST['achternaam'];
$email = $_POST['email'];
$bedrijf = $_POST['bedrijf'];
$opmerkingen = $_POST['opmerkingen'];
//verplichte velden checken
if (gegevenstesten($voornaam, $achternaam, $email, $opmerkingen) == TRUE) {
//alle verplichte velden zijn ingevuld, dus kunnen we de mail gaan versturen
$to = 'kevinijssel@hotmail.com';
$subject = 'Reactie op mijn website';
// message goes here
$message = "Van<br> Voornaam: " . $_POST['voornaam'] . "\n";
$message = "Achternaam: " . $_POST['achternaam'] . "\n";
$message = "Email adres: " . $_POST['email'] . "\n";
$message = "Bedrijf: " . $_POST['bedrijf'] . "\n";
$message = "Opmerkingen: " . $_POST['opmerkingen'] . "\n";
// headers go here
$headers = "From: " . $_POST['email'] . "\n";
$headers .= "Reply-To: " . $_POST['email'] . "\n";
$headers .= "Content-type: text/plain; charset=UTF-8";
$sent = mail($to, $subject, $message, $headers);
}
else {
//verplichte velden ontbreken
echo "Vul alles in!"; //maak hier zelf maar een mooie foutmelding van ;)
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
<!--
@import url("CSS/index.css");
-->
</style>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<div id="header">Content for id "header" Goes Here</div>
<div id="navigation"><ul><li><a href="index.html">home</a></li><li> <a href="aboutme.html">about me</a></li> <li><a href="portfolio.html">portfolio</a></li> <li><a href="links.html">links</a></li><li> <a href="contact.html">contact</a> </li></ul></div>
<div id="content">
<h1>contact</h1>
<?php
if (isset($sent)) {
echo '<p><strong>Bedankt dat je contact met me hebt opgenomen. Ik zal zo snel mogelijk reageren op je bericht.</strong></p>';
} else {
?>
<form id="form1" name="form1" method="post" action="">
<label for="textfield">Voornaam</label>
<p><input type="text" name="voornaam" tabindex="11" id="textfield" />
</p>
<p>
<label for="label">Achternaam</label>
<br />
<input type="text" name="achternaam" tabindex="21" id="label" />
</p>
<p>
<label for="label2">Email adres</label>
<br />
<input type="text" name="email" tabindex="31" id="label2" />
</p>
<label></label>
<p>
<label> Bedrijf: <br />
<input type="radio" name="bedrijf" value="yes" />
ja</label>
<label>
<input type="radio" name="bedrijf" value="no" />
nee</label>
<br /></p>
<label><br />
<br />
</label>
<label for="textarea">Opmerkingen<br />
</label>
<p>
<textarea name="opmerkingen" cols="50" rows="8" id="opmerkingen" tabindex="61"></textarea>
</p>
<p>
<label>
<input type="submit" name="Submit" value="Submit" tabindex="71" />
</label>
</p>
<p><br />
</p>
</form>
<?
}
?>
</div>
<div id="footer">Content for id "footer" Goes Here</div>
</body>
</html>
Zoiets zou het dan moeten worden. Checkt verplichte velden en laat het formulier niet zien als het verzonden is. Niet getest, dus geen garanties of het werkt.