Suite à plusieurs spam dans mon formulaire, j'ai voulu installer un captcha.
J'ai récupéré et installé "cryptographp".
Le problème, c'est que ça ne fonctionne pas, j'ai l'impression que le fait d'avoir rajouter ce code dans mon formulaire et sur la page de gestion des infos du formulaire fait que maintenant, il me supprime les autres champs du formulaire, car elles apparaissent toutes vides....
Et comme mon hébergeur régule le spam, je ne peux pas trop faire d'essais avec mon formulaire sinon il sera bloquer.....
Des idées ?
Voici le bout de code que j'ai dans mon formulaire :
<form action=formrenseignement.php method=POST enctype="application/x-www-form-urlencoded"
name=AVIS autocomplete=off>
<table class=MsoNormalTable border=0 cellpadding=0 style='mso-cellspacing:
1.5pt;mso-table-layout-alt:fixed'>
<tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
<td width=35 style='width:50pt;padding:.75pt .75pt .75pt .75pt'>
<p class=MsoNormal><o:p> </o:p></p>
</td>
<td width="565" style='color:white' style='mso-bidi-font-weight:
bold'><b>Veuillez remplir le questionnaire suivant afin que je puisse vous répondre.</b><p> </td>
</tr>
<tr>
<td width="35"></td>
<td width="565" style='color:white' style='mso-bidi-font-weight:
normal'><b>
Votre nom : </b><br>
<input type="text" name="nom" size="20">
<p><b>Votre prénom :</b><br>
<input type="text" name="prenom" size="20"></p>
<p><b>Votre numéro de téléphone :</b><br>
<input type="text" name="tel" size="20"></p>
<p><b>Votre Email :</b><br>
<input type="text" name="email" size="20"></p>
<p><b>La race de votre chien :</b><br>
<input type="text" name="race" size="20"></p>
<p><b>L'âge de votre chien :</b><br>
<input type="text" name="age" size="20"></p>
<p><b>Merci de me donner quelques informations pour que je puisse vous répondre plus précisément.</b><br>
<textarea rows="7" name="remarques" cols="70"></textarea></p><br>
<?php dsp_crypt(0,"Générer une nouvelle image"); ?>
<p><b>Recopier le code:</b><input type="text" name="code">
</td>
</tr>
</table></p>
<p> </p>
<p style='text-align:center'>
<input type="submit" value="Envoyer" name="envoyer">
<input type="reset" value="Recommencer" name="recommencer"> <br>
<br>
</p>
</form>
Et dans mon fichier formrenseignement :
if (chk_crypt($_POST['code'])) {
if ($nom == ""){ //nom du champ1
echo("Vous n'avez pas complété le nom.<br>"); //message qui s'affiche si le visiteur n'a pas rempli ce champ
$Envoi = 0; //si le champ1 n'a pas été rempli, la variable envoi prend la valeur de 0
}
else {
$MailBody .= "Votre nom : $nom\n"; //si le champ1 contient de l'information, elle est stockée dans la variable MailBody
}
$MailBody .= "Votre prénom : $prenom\n";
$MailBody .= "Votre numéro de téléphone : $tel\n";
if ($email == ""){
echo("Vous n'avez pas complété l'email<br>");
$Envoi = 0;
}
else {
$MailBody .= "Votre Email : $email\n";
}
$MailBody .= "La race de votre chien : $race\n";
$MailBody .= "L'âge de votre chien : $age\n";
$affich_remarques = htmlentities($remarques); // affiche le code HTML à l'état brut.
$affich_remarques = StripSlashes($affich_remarques); // enlève, au texte affiché, les \ aux apostrophes, exemple : l\'habitude
$envoi_remarques = StripSlashes($remarques); // enlève les \ aux apostrophes, exemple : l\'habitude
$MailBody .= "Vos remarques : \n";
$MailBody .= "$envoi_remarques\n";
if ($Envoi == 0) { //vérification que la variable envoi est bien à 1
echo("<p><a href=\"Javascript:history.go(-1)\"><center><strong>RETOUR</strong></center></a></p>");
//Pas d'envoi du message et retour au formulaire
}
//Envoi du message
if ($Envoi == 1) { //vérification que la variable envoi est bien à 1
echo("<p><strong>Votre nom : <font color=\"#0000FF\">$nom</font>\n");
echo("<p><strong>Votre prénom : <font color=\"#0000FF\">$prenom</font>\n");
echo("<br>Votre téléphone : <font color=\"#0000FF\">$tel</font>\n");
echo("<br>Votre e-mail : <font color=\"#0000FF\">$email</font>\n");
echo("<p><strong>La race de votre chien : <font color=\"#0000FF\">$race</font>\n");
echo("<p><strong>L'âge de votre chien : <font color=\"#0000FF\">$age</font>\n");
echo("<br>Votre texte : <font color=\"#0000FF\">$affich_remarques</font>\n");
echo("<p> </p>");
mail($MailTo, $MailSubject, $MailBody, $MailHeader); //envoi du message
mail($MailCc, $MailSubject, $MailBody, $MailHeader); //envoi du communiqué (enlever // pour le rendre opérationnel
echo("<p>Votre message a bien été envoyé.<br>Merci de vos commentaires.");
echo("<p> </p><p> </p><p align=\"center\"><a href=\"coordonnees.php\">Retour</strong></a></p>"); //affichage d'un message de confirmation.
}
}
?>