je n'arrive pas à trouver l'erreur (ou les erreurs) dans le formulaire d'envoi de mail dont le code figure ci-après...
le résultat que je souhaite est le suivant :
- tous les champs doivent être remplis pour que l'email soit envoyé
- si certains ne le sont pas, réafficher le formulaire
pour l'instant, que je remplisse ou non tous les champs, ce qui s'affiche correspond à la dernière partie de mon code (le dernier "else")
le formulaire est en ligne ici (attention, site en construction) :
http://www.pajumontreal.org/paju_fr/?/80/
merci d'avance pour votre aide, en espérant que ma demande ne soit pas abusive...
formulaire :
Code : Tout sélectionner
<form action="http://www.pajumontreal.org/paju_fr/?/_contactmessage/" method="post" class="page">
<fieldset>
<legend>Vos coordonnées</legend>
<p>
<label for="Nom" class="oblig">* Nom</label>
<input type="text" id="Nom" name="nom" size="35" value="" />
</p>
<p>
<label for="Courriel" class="oblig">* Courriel</label>
<input type="text" id="Courriel" name="email" size="35" value="" />
</p>
</fieldset>
<fieldset>
<legend>Votre message</legend>
<p>
<label for="Votre_message" class="oblig"> </label>
</p>
<textarea id="Votre_message" name="message" cols="40" rows="10"></textarea>
</fieldset>
<p><input type="submit" name="envoi" value="Envoyer votre message" /></p>
</form>// vérification du clic sur le bouton submit du formulaire
if (isset($_POST['envoi'])) {
// récupération des valeurs du formulaire
$controle_guillemets = get_magic_quotes_gpc() ;
if ($controle_guillemets == "0") {
// "magic_quotes" n'est pas activé
// récupération des informations du formulaire et traitement des caractères
$var_nom = utf8_decode(mysql_real_escape_string($_POST["nom"])) ;
$var_email = utf8_decode(mysql_real_escape_string($_POST["email"])) ;
$var_message = utf8_decode(mysql_real_escape_string($_POST["message"])) ;
}
else {
// "magic_quotes" est activé
// récupération des informations du formulaire telles quelles
$var_nom = utf8_decode($_POST["nom"]) ;
$var_email = utf8_decode($_POST["email"]) ;
$var_message = utf8_decode($_POST["message"]) ;
}
// contrôle des champs obligatoires
// s'ils sont vides, réaffiche le formulaire avec les informations déjà saisies
if (empty($var_nom) or empty($var_email) or empty($var_message))
{
$msg = "<p class=\"alerte\">";
$msg .= "Pour envoyer votre message, merci de remplir tous les champs du formulaire.";
$msg .= "</p>\n";
$msg .= "<form action=\"http://www.pajumontreal.org/paju_fr/?/_contactmessage/\" method=\"post\" class=\"page\">\n";
$msg .="<fieldset>\n";
$msg .="<legend>Vos coordonnées</legend>\n";
$msg .= "<p>\n";
$msg .="<label for=\"Nom\" class=\"oblig\">* Nom</label>\n";
$msg .="<input type=\"text\" id=\"Nom\" name=\"nom\" size=\"35\" value=\"".utf8_encode($var_nom)."\" />\n";
$msg .= "</p>\n";
$msg .= "<p>\n";
$msg .="<label for=\"Courriel\" class=\"oblig\">* Courriel</label>\n";
$msg .="<input type=\"text\" id=\"Courriel\" name=\"email\" size=\"35\" value=\"".utf8_encode($var_email)."\" />\n";
$msg .= "</p>\n";
$msg .= "</fieldset>\n";
$msg .= "<fieldset>\n";
$msg .="<legend>Votre message</legend>\n";
$msg .= "<p>\n";
$msg .="<label for=\"Votre_message\" class=\"oblig\"> </label>\n";
$msg .= "</p>\n";
$msg .= "<textarea id=\"Votre_message\" name=\"message\" cols=\"40\" rows=\"10\">".utf8_encode($var_message)."</textarea>\n";
$msg .= "<p>\n";
$msg .= "<input type=\"submit\" name=\"envoi\" value=\"Envoyer votre message\" />\n";
$msg .= "</p>\n";
$msg .="</form>\n";
echo ($msg) ;
}
// s'ils sont remplis, affichage du message de fin et envoi du mail
else {
$msg = "<p>Merci d'avoir rempli le formulaire, votre message a été envoyé</p>";
echo ($msg);
$from_email = $var_email;
$entetedate = date("D, j M Y H:i:s -0400"); // avec offset horaire
$entetemail = "From:".$from_email."\n"; // Adresse expéditeur
$entetemail .= "Cc: \n";
$entetemail .= "Bcc: \n"; // Copies cachées
$entetemail .= "Reply-To:" .$from_email."\n"; // Adresse de retour
$entetemail .= "X-Mailer: PHP/" . phpversion() . "\n" ;
$entetemail .= "Date:".$entetedate;
$dest = "[email protected]";
$objet = "Site PAJU (FR) - Contact";
$contenu = "Ce message provient du site PAJU (FR).\n\n";
$contenu .= "[NOM] " .$var_nom ."\n";
$contenu .= "[COURRIEL] " .$var_email ."\n";
$contenu .= "[MESSAGE]\n\n" .stripslashes($var_message) ."\n";
mail ($dest, $objet, $contenu, $entetemail);
}
}
// contenu affiché si on accède directement à cette page
else {
$msg = "<p>";
$msg .= "Les champs marqué d'une * sont obligatoires.";
$msg .= "</p>\n";
$msg .= "<form action=\"http://www.pajumontreal.org/paju_fr/?/_contactmessage/\" method=\"post\" class=\"page\">\n";
$msg .="<fieldset>\n";
$msg .="<legend>Vos coordonnées</legend>\n";
$msg .= "<p>\n";
$msg .="<label for=\"Nom\" class=\"oblig\">* Nom</label>\n";
$msg .="<input type=\"text\" id=\"Nom\" name=\"nom\" size=\"35\" value=\"\" />\n";
$msg .= "</p>\n";
$msg .= "<p>\n";
$msg .="<label for=\"Courriel\" class=\"oblig\">* Courriel</label>\n";
$msg .="<input type=\"text\" id=\"Courriel\" name=\"email\" size=\"35\" value=\"\" />\n";
$msg .= "</p>\n";
$msg .= "</fieldset>\n";
$msg .= "<fieldset>\n";
$msg .="<legend>Votre message</legend>\n";
$msg .= "<p>\n";
$msg .="<label for=\"Votre_message\" class=\"oblig\"> </label>\n";
$msg .= "</p>\n";
$msg .= "<textarea id=\"Votre_message\" name=\"message\" cols=\"40\" rows=\"10\"></textarea>\n";
$msg .= "<p>\n";
$msg .= "<input type=\"submit\" name=\"envoi\" value=\"Envoyer votre message\" />\n";
$msg .= "</p>\n";
$msg .="</form>\n";
echo ($msg) ;
}