Mailformular med fælde. Redirect ved korrekt indtastet data.
HejJeg bruger denne mail formular fra hjemmesideskolen:
<?php
if (isset($_POST['submit']))
{
if (!empty($_POST['name']) && // tjek, at der er skrevet et navn
!empty($_POST['email']) && // tjek, at der er skrevet en e-mail-adresse
!empty($_POST['subject']) && // tjek, at der er skrevet et subject
!empty($_POST['message']) && // tjek, at der er skrevet en besked
// her følger sikringen mod spambotter
!strpos($_POST['name'], "xx") && // tjek, at dit domæne ikke er skrevet i feltet "navn"
!strpos($_POST['email'], "xx") && // tjek, at dit domæne ikke er skrevet i feltet "email"
!strpos($_POST['name'], "@") && // tjek, at der ikke er et @ i "navn"
!eregi("\r",$_POST['name']) && // tjek, at der ikke er "vogn-retur" i "navn"
!eregi("\n",$_POST['name']) && // tjek, at der ikke er "linjeskift" i "navn"
!eregi("\r",$_POST['email']) && // tjek, at der ikke er "vogn-retur" i "email"
!eregi("\n",$_POST['email'])) // tjek, at der ikke er "linjeskift" i "email"
// er alt ok, fortsættes med afsendelse af mailen
{
$headers="From: ".$_POST['email']."<".$_POST['email'].">";
$msg = stripslashes(strip_tags($_POST['message']))."\n\nAfsendt fra xx fra IP:".$_SERVER["REMOTE_ADDR"]."\n\n";
if (@$_POST['customer_copy'])
{
$headers .= "\r\nBcc: ".$_POST['email'];
}
if (@mail("xx", strip_tags($_POST['subject']),
$msg, $headers))
{
echo "<p>Tak for din henvendelse. Jeg svarer så hurtigt som muligt.</p>";
}
else
{
echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv igen!</p>";
}
}
else
{
echo "<p>Mailen kunne ikke sendes, alle felter skal udfyldes korrekt!</p>";
}
}
?>
Når alle data indtastes korrekt, er det denne linie der gør sig gældende:
echo "<p>Tak for din henvendelse. Jeg svarer så hurtigt som muligt.</p>";
Jeg kan ikke bruge dette:
header("Location: xxx.shtml");
da jeg så vil misse fejlbeskederne hvis indtastet data ikke er korrekt.
Hvad gør jeg?
Mvh
Boxer
