Ik heb het volgende probleem, als het contactformulier is verstuurd wordt je doorgestuurd naar de bedankt pagina, dit gaat allemaal goed. Echter wil ik nu dat als ik in het contactformulier is aangevinkt dat je zelf een email wilt ontvangen. Dat er dan op de bedankt pagina automatisch een regel bij komt met er is nu een mail naar je verstuurd.
En dit geldt ook voor als je een fout maakt dan moet deze ook op die pagina met daarbij de tekst u heeft een fout gemaakt bla bla en daaronder dan de fout weergeven. Dus geen standaard tekst met alle fouten maar enkel de fout. Ik heb nu dit:
<?php
////////////////////////////////////////////////
//////// robbert.uphero.com ////////////////////
//////// Door Robbert B ////////////////////////
////////////////////////////////////////////////
//Kijken of er op de submit button is gedrukt.
if($_SERVER['REQUEST_METHOD'] == "POST"){
// Definiƫren variablen
// Vaste variablen
$ontvanger = '[email protected]'; //Email van de ontvanger
$naar = 'Robbert B'; //Naam
$onderwerp = "Ingevuld contactformulier"; //Onderwerp van de mail
$spam = 0; //Anti Spam, in seconden
//Controle of de waarden zijn ingevuld!
$error = ''; // Begint met het aantal aanwezige errors
$aantal = 0; // Telt het aantal errors
if(isset($_COOKIE['mailform']))
{ $show = true;
echo 'Vanwege veiligheids redenen kunt u maar eens in de '.$spam.' seconden een e-mail versturen!';
}
else {
if(strlen($_POST['naam']) < 2)
{$error .= "- U heeft u naam niet ingevuld! <BR />";
$aantal++;
}
if(strlen($_POST['email']) < 6 || preg_match('~^(?=[^a-z]*[a-z])(?=[^A-Z]*[A-Z])(?=\D*\d)(?=[A-Za-z0-9]*[^A-Za-z0-9])\S{6,}$~', $_POST['email']))
{$error .= "- U heeft geen geldig e-mailadres ingevuld! <BR />";
$aantal++;
}
if(strlen($_POST['telefoon']) > 1 && !preg_match('/^[0-9]{10}$/', $_POST['telefoon']))
{$error .= "- Uw telefoonnummer bestaat niet uit 10 cijfers! <BR />";
$aantal++;
}
if (strlen($_POST['tekst']) < 10 )
{$error .= "- U heeft geen geldige bericht ingevuld. <BR />";
$aantal++;
}
if (!empty($error)) // Als er fouten zijn
{
echo ($aantal == 1) ? 'De volgende fout is opgetreden: <BR />' : 'De volgende fouten zijn opgetreden <BR />'; //Controllen enkelfout of meervoud.
echo "".$error."<BR />";
}
else { // Het mailen
//Headers
$header = "Content-type: text/html; charset=iso-8859-1\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "To: ".$naar." <".ontvanger.">\r\n";
$header .= "From: ".$_POST['naam']." <".$_POST['email'].">\r\n";
$header .= "Reply-To: ".$naar." <".$ontvanger.">\r\n";
//Het daadwerkelijke bericht
$bericht = '
<html>
<head>
<title>Some title</title>
</head>
<body>
<table style="margin:auto; width: 640px; background-color: #FBFBEF; border-color:black; border:1px; border-style:solid; border-spacing:0; border-collapse:collapse; padding:0;">
<tr><td>
<img src="http://robbert.uphero.com/erasmusbrug.jpg" alt="banner"; width: 640px; height:149px; />
</td></tr>
<tr style="min-height:30px; width:640px;"><td>
<p style="margin-top: 5px; margin-left:5px;">Geachte '.$_POST['naam'].', <br /></p>
<p style="margin-left:5px;">Hierbij ontvangt u een kopie van de door u verstuurde e-mail:</p>
<p style="margin-left:30px;">
Afzender: '.$_POST['naam'].'<br />
E-mailadres: '.$_POST['email'].'<br />
Telefoonnummer: '.$_POST['telefoon'].'<br />
Onderwerp: '.$_POST['subject'].'<br />
Bericht: '.$_POST['tekst'].'<br /></p>
<p style="margin-left: 5px;">
Mocht u nog vragen hebben, dan kunt u gerust nogmaals contact opnemen.</p>
<p style="margin-left: 5px;">
Met vriendelijke groet,</p>
<p style="margin-left: 5px; margin-bottom: 5px;">
Robbert Bruin</p>
</td></tr>
<tr style="width:580px; margin-left: auto; margin-right: auto;"><td>
</td></tr>
</table>
</body>
</html>
';
//De mail
mail($ontvanger, $onderwerp, $bericht, $header);
//Bevestigingsbericht
setcookie('mailform',1,time()+($spam*1)); // cookie zetten tegen spammen
$show = true; // foutmelding wordt weergeven
header("location: index.html");
//Als het copy is aangevinkt
if(isset($_POST['mailmij'])) {
mail($_POST['email'], "Kopie emailbericht", $bericht, $header);
}
}
}
}
?>