hvor sætter du et flag hvis der er en fejl ??
hvor tester du på at der er udskrevet fejl ??
jeg tror jeg ville omskrive din code til:
(utested)
<?php
if(isset($_POST['send'])) {
$franavn = $_POST['navn'];
$framail = $_POST['email'];
$emne = $_POST['emne'];
$indhold = $_POST['besked'];
$sendtil= $row['mail']; // hvor kommer denne fra ??
$headers = "From: $franavn<$framail>"; // mangler du ikke nogle headers ?? http://dk.php.net/manual/en/function.mail.php Example #2 Sending mail with extra headers.
$error=0; // flag
if (empty($framail)) {
echo "Du skal indtaste din e-mail";
$error++;
}
else{
// der er ikke grund til at teste om det er en valid mail addresse hvis jeg ved email addressen er blank
if (! preg_match("/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i", $framail) ) {
echo"Du skal indtaste en gyldig email";
$error++;
}
}
if (empty($franavn)) {
echo "Du skal indtaste dit navn";
$error++;
}
if (empty($emne)) {
echo "Du skal indtaste et emne";
$error++;
}
if (empty($indhold)) {
echo "Du skal indtaste en besked";
$error++;
}
if($error>0){
echo "Fejl: du har de fejl der er vist ovenfor ret dem først, mailen kan ikke sendes";
}
else{ // 0 fejl
if(! mail($sendtil, $emne, $indhold, $headers))
echo "Fejl: Beskeden blev ikke sendt";
else
echo "<strong>Beskeden er blivet sendt.<br>Du vil blive kontaktet hurtigst muligt</strong>";
}
}
?>