<th bgcolor="#E8E8E8" scope="col"><div align="left"><font color="#000000"><b>Question antispam: Combien fait 4 multiplié par 4</b></font></div></th>
</tr>
<tr>
<th bgcolor="#E8E8E8" scope="col"><div align="left"><font color="#000000">
[color=#800000]<input name="antispam"[/color] type="text" id="name" size="70">
</font></div></th>
</tr>
Mais pour mettre mon code php du fichier send_form_mail c'est long comme code. Comme le message dit ligne 23, je vais me contenter de vous donner quelques lignes de 120 à 130 mais je ne sais si ça sera suffisant. Vous me direz comment faire alors. if(!isset($_POST['courriel']) ||
!isset($_POST['nom']) ||
!isset($_POST['message'])
!isset($_POST['antispam']))
{
died('Tous les champs sont obligatoires.');
}
$courriel = $_POST['courriel']; //required
$nom = $_POST['nom']; //required
$message = $_POST['message']; //required
$antispam = $_POST['antispam']; //required<span style="color: #800000"><input name="antispam"</span> type="text" id="name" size="70">
Il me semble bizarre déjà qu'il y ai le /span qui se promène au milieux comme ça. Essaie déjà de le mettre en fin de ligne, et voir ce que ça donne. if(!isset($_POST['courriel']) ||
!isset($_POST['nom']) ||
!isset($_POST['message']) || //ICI il manquait un "OR" (||)
!isset($_POST['antispam']))
{
died('Tous les champs sont obligatoires.');
}
$courriel = $_POST['courriel']; //required
$nom = $_POST['nom']; //required
$message = $_POST['message']; //required
$antispam = $_POST['antispam']; //required
pour ton HTML, corrige le comme ceci<span style="color: #800000"><input name="antispam" type="text" id="name" size="70"></span> if($antispam <> $antispam_answer) {
$error_message .='La question antispam n'est pas valide.<br />'; if($antispam != $antispam_answer) {
$error_message .='La question antispam n'est pas valide.<br />';
rendez vous au message suivant if($antispam != $antispam_answer) {
$error_message .='La question antispam n\'est pas valide.<br />';
75 lignes c'est pas énorme, mais si le problème est à la ligne 150 je vois pas comment tu peux n'en avoir que 75Bonne déduction mon cher Watson !75 lignes c'est pas énorme, mais si le problème est à la ligne 150 je vois pas comment tu peux n'en avoir que 75
<?php
if(isset($_POST['courriel'])) {
// EDIT THE 2 LINES BELOW AS REQUIRED
$email_to = "[email protected]";
$email_subject = "Commentaires pour Forum55plus";
function died($error) {
// your error code can go here
echo "Désolée mais il semble y avoir erreur dans le formulaire. ";
echo $error."<br /><br />";
echo "SVP retourner au formulaire en utilisant le bouton retour dans votre barre d'outils en haut pour conserver vos données.<br /><br />";
die();
}
// validation expected data exists
if(!isset($_POST['courriel']) ||
!isset($_POST['nom']) ||
!isset($_POST['message']) || //ICI il manquait un "OR" (||)
!isset($_POST['antispam']))
{
died('Tous les champs sont obligatoires.');
}
$courriel = $_POST['courriel']; //required
$nom = $_POST['nom']; //required
$message = $_POST['message']; //required
$antispam = $_POST['antispam']; //required
extract($_POST);
//print_r($_POST);
if($_POST['antispam'] == 'SEIZE')
{
$error_message = "";
$email_exp = "^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$";
if(!eregi($email_exp,$courriel)) {
$error_message .= 'Vérifiez votre adresse courriel.<br />';
}
$string_exp = "^[a-z .'-]+$";
if(!eregi($string_exp,$nom)) {
$error_message .= 'Vérifiez votre nom ou pseudo.<br />';
}
if(strlen($message) < 2) {
$error_message .= 'Aucun message inscrit.<br />';
}
if($antispam != $antispam_answer) {
$error_message .='La question antispam n'est pas valide.<br />';
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = "Détails du formulaire envoyé ci-dessous.\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",stripslashes($string));
}
$email_message .= "Courriel: ".clean_string($courriel)."\n";
$email_message .= "Nom: ".clean_string($nom)."\n";
$email_message .= "Message: ".clean_string($message)."\n";
// create email headers
$headers = 'From: '.$courriel."\r\n".
'Reply-To: '.$courriel."\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($email_to, $email_subject, $email_message, $headers);
}
else
{
died('Mauvaise r�ponse antispam!');
}
}
?> <?PHP
/*On récupère les valeurs repassées par traite.php en cas d'erreur. Sinon les variables sont vides*/
$courriel = isset($_POST['courriel'])? $_POST['courriel'] : "";
$message = isset($_POST['message'])? $_POST['message'] : "";
$nom = isset($_POST['nom'])? $_POST['nom']: "";
$antispam = isset($_POST['antispam'])? $_POST['antispam']: "";
/*Formulaire standard*/
print "
<form method = 'post' action='traite.php'>
<label for 'courriel'>Courriel</label>
<input type = 'text' name ='courriel' value='$courriel'>
<label for 'message'>Message</label>
<textarea name ='message'>$message</textarea>
<label for 'nom'>Nom</label>
<input type = 'text' name ='nom' value='$nom'>
<label for 'antispam'>Antispam</label>
<input type = 'text' name ='antispam' value='$antispam'>
<button type ='submit'>Envoyer</button>
</form>";
?>
traite.php
<?php
/* $courriel est la valeur passée.
$courrier contient la même valeur si le le couriel est bien formé ou false si le courriel est mal formé
*/
$courriel = isset($_POST['courriel'])? $_POST['courriel']: "";
$courriel = filter_var($courriel, FILTER_SANITIZE_EMAIL);
$courrier = filter_var($_POST['courriel'], FILTER_VALIDATE_EMAIL);
$message = isset($_POST['message'])? $_POST['message']: "";
$nom = isset($_POST['nom'])? $_POST['nom']: "";
$antispam = isset($_POST['antispam'])? $_POST['antispam']: "";
$c_rendu = ""; //le compte-rendu d'erreur
$erreur = false; //booléen juste en cas d'erreur
if ($courrier === false)
{
$c_rendu = "<p>Votre adresse électronique est incorrecte. Elle doit être de la forme nom@hote ";
$erreur = true;
}
if (($message == "") or (strlen ($message)< 15)) //message absent ou trop court
{
echo (strlen($message));
$c_rendu .= "<p>Votre message est absent ou trop court.";
$erreur = true;
}
else
{
$message = filter_var($message,FILTER_SANITIZE_STRING);
}
if (($nom == "") or (strlen ($nom ) < 5)) //nom absent ou trop court
{
$c_rendu .= "<p>Votre nom est absent ou trop court.";
$erreur = true;
}
else
{
$nom = filter_var($nom,FILTER_SANITIZE_STRING);
}
if ($antispam != "SEIZE") //nom absent ou trop court
{
$c_rendu .= "<p>Antispam incorrect.";
$erreur = true;
}
if ($erreur === true)
{
/*En cas d'erreur ce formulaire repasse les valeurs à index.php */
print "
$c_rendu
<form method ='post' action = 'index.php'>
<input type ='hidden' name ='courriel' value ='$courriel' />
<input type ='hidden' name ='message' value ='$message' />
<input type = 'hidden' name ='nom' value='$nom'>
<input type = 'hidden' name ='antispam' value='$antispam'>
<button type = 'submit'>Retour</button>
</form>";
}
else
{
$email_message = "Détails du formulaire envoyé ci-dessous.\n\n";
$email_message .= "Courriel: $courriel\n";
$email_message .= "Nom: $nom";
$email_message .= "Message:$message\n ";
print "$email_message";
}
?>