Formmail - validerings spørgsmål...
Jeg har en formmail som sådan set fungerer fint nok på http://www.nicolin.dk/kontakt.php, men jeg kunne godt tænke mig nogle små ændringer.1) når formmailen ser sendt skal brugere sendes videre til:
http://www.nicolin.dk/kontakt_tak.php
2) når formular ikke kan sendes kunne jeg godt tænke mig at de får fejlbeskeden på selve formular siden http://www.nicolin.dk/kontakt.php.
Jeg ved intet om PHP, jeg har blot brugt færdig script fra hjemmesideskolen.dk.
-------------------------------------------------------------
Her er den kode der sender (sender.php)
-------------------------------------------------------------
<body>
<?php
if (isset($_POST['submit']))
{
if (!empty($_POST['name']) && // tjek, at der er skrevet et navn
!empty($_POST['email']) && // tjek, at der er skrevet i e-mail adressefeltet
strpos($_POST['email'], "@") && //Tjek, at der skrevet et @ et sted i e-mail adressefeltet
!empty($_POST['emne']) && // tjek, at der er skrevet et emne
!empty($_POST['besked']) && // tjek, at der er skrevet en besked
// her følger sikringen mod spambotter
!strpos($_POST['name'], "nicolin.dk") && // tjek, at dit domæne ikke er skrevet i feltet "navn"
!strpos($_POST['email'], "nicolin.dk") && // 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['name']."<".$_POST['email'].">";
if (@$_POST['customer_copy'])
{
$headers .= "\r\nBcc: ".$_POST['email'];
}
$body .= "Den " . date("d/m y") . " kl. " . date("G:i") . " skrev " . $_POST['name'] . ":\r\n\r\n" . $_POST['besked'];
if (@mail("kontakt@nicolin.dk", strip_tags($_POST['emne']),
stripslashes(strip_tags($body)), $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>";
}
}
?>
</body>
-------------------------------------------------------------
Her er formularen(http://www.nicolin.dk/kontakt.php)
-------------------------------------------------------------
<form method="post" action="/scripts/sender.php">
<p>Dit navn:<br>
<input name = "name" type = "text" id="name" size="40">
<br>
</p>
<p>Din e-mail adresse:<br>
<input name = "email" type = "text" id="email" size="40">
<br>
<p>Overskrift eller emne: <br>
<input name = "emne" type = "text" id="emne" size="40">
<span style="display:none">Subject:<input id="t7" type="text" name="subject" /></span>
<br>
</p>
<p>Din besked: <br>
<textarea name = "besked" id="besked" cols="60" rows="8"></textarea><br>
</p>
<p>
<input type="checkbox" id="t5" name="customer_copy" />
Vil du have en kopi tilsendt til din egen e-mail adresse?<br>
<br>
<input name="submit" type = "submit" id="submit" value="Send besked">
<input type="reset" name="Reset" value="Ryd felter">
</p>
</form>
