Problème validation formulaire
Bonjour à tous, je suis en train de réaliser un formulaire de contact basique pour mon site internet. J'ai un petit soucis avec mon php. Je voudrais que php vérifie si les champs sont bien remplis avant d'envoyer le mail. Moi je doit faire une erreur car il envoie le mail et après il vérifie.
Logiquement il faudrait que j'inverse l'ordre de mest test mais la j'avoue je suis un peu perdu. Est ce quelqu'un peut m'éclairer ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="fr" lang="fr" xmlns="http://www.w3.org/1999/xhtml">
<?php
$mail_webmaster = 'profiler24@hotmail.com';
$name = stripslashes($_POST['name']);
$email = stripslashes($_POST['email']);
$subject = "Mail Site internet ::";
$subject .= stripslashes($_POST['subject']);
$msg = "$name\r\n";
$msg .= "e-Mail : $email \r\n";
$msg .= "$subject \r\n\n";
$msg .= "---------------------------------------- \r\n".stripslashes($_POST['message'])."\r\n\n";
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" href="style.css" type="text/css" media="screen"/>
<title> Le Domaine Saint-Chinian</title>
</head>
<body>
<div id="contenaire">
<div id="bloc_gauche">
<h1>Formulaire de contact</h1>
<?php
if ($_SERVER['REQUEST_METHOD'] != 'POST'){
$self = $_SERVER['PHP_SELF'];?>
<form name="form" method="post" id="third" action="<?php echo $self;?>">
<label for="name"><strong><span class="blue">*</span> Nom : </strong></label>
<input id="name" name="name" type="text" class="validate['required','length[3,-1]','nodigit'] textinput" />
<label for="email"><strong><span class="blue">*</span> Email : </strong></label>
<input id="email" name="email" type="text" class="validate['required','length[5,-1]','email'] textinput" />
<label for="subject"><strong><span class="blue">*</span> Subject : </strong></label>
<input id="subject" name="subject" type="text" class="validate['required'] textinput" />
<label for="msg"><strong><span class="blue">*</span> Your message : </strong></label>
<textarea id="message" name="message" type="text" class="validate['required'] textarea"></textarea>
<br /><br />
<input type="submit" name="envoyer" class="bouton" value="Send it!" />
</form>
<?php
} else {
error_reporting(0);
if(isset($_POST['envoyer']))
{
if (
(isset($_POST['name']) && !empty($_POST['name']))
&& (isset($_POST['email']) && !empty($_POST['email']))
&& (isset($_POST['subject']) && !empty($_POST['subject']))
&& (isset($_POST['message']) && !empty($_POST['message']))
)
{(mail($mail_webmaster, $subject, $msg, "From: $email\r\nReply-To: $email\r\nReturn-Path: $email\r\n"));
echo nl2br("<div class=\"MsgSent\">
<h2>Merci,</h2> <p> Votre message a bien été envoyé !
<br />Vous pouvez retourner à l\'accueil en
<a href='index.html'>cliquant-ici</a></p>
</div>");}
else
{ header('Location: contact.php');
echo "Le formulaire a mal été remplie";
}
}
else
{ echo "Le formulaire a pas été envoyé"; }
}
/*else
echo "<div class=\"MsgError\">
<h2> Désolé, </h2><p><?=$name;?> Votre message n'a pu être envoyé. <br/>
Réessayez ultérieurement !</p>
<br/> Vous pouvez retourner à l'accueil en
<a href='index.html'>cliquant-ici</a></p>
</div>";*/
?>
</div>
<div id="trait2"> </div>
<div id="texte">
</div>
</div>
</div>
</body>
</html> |