Pb avec intégration d'un captcha dans formula

Fermé
Wolfen38 - 26 nov. 2009 à 07:13
 Wolfen38 - 26 nov. 2009 à 10:15
Bonjour,
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>&nbsp;</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>&nbsp;</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>&nbsp;</p>
<p style='text-align:center'>
<input type="submit" value="Envoyer" name="envoyer">&nbsp;&nbsp;&nbsp;
<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>&nbsp;</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>&nbsp;</p><p>&nbsp;</p><p align=\"center\"><a href=\"coordonnees.php\">Retour</strong></a></p>"); //affichage d'un message de confirmation.
}
}
?>

4 réponses

Bakux Messages postés 1195 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 5 juillet 2015 187
26 nov. 2009 à 07:39
Un bon dévelopeur fait lui même ses programmes, car si tu pioches un peu de n'importe quoi n'importe où c'ets normal que ça marche pas ... Donc fais le toi même

La je pars en cours mais si tu as besoin d'aide, ce soir ya aucun soucis !

Bonne chance !
0
Salut,

Le problème, c'est que je suis loin d'être un bon développeur, je suis même pas un développeur du tout ! ! !

J'ai fait tout mon site avec ma b--- et mon couteau, en farfouillant un peu partout sur le net, en essayant, en refaisant.... mais je n'ai aucune vrai connaissance ni formation dans ce milieu.

Donc tout faire tout seul depuis le début, c'est pas possible avec mon niveau.

Pour le moment, j'ai un formulaire qui marche, un captcha qui marche, et maintenant, j'aimerais bien avoir les deux qui marchent ensemble !

Perso, je ne vois pas le hic dans mes fichiers....

Normalement, le code c'est :

<?php
  if (chk_crypt($_POST['code'])) 
     echo "<a><font color='#009700'>=> Bravo, vous avez saisi le bon code !</font></a>" ;
     else echo "<a><font color='#FF0000'>=> Erreur, le code est incorrect</font></a>" ;
?>


Et j'ai juste remplacé le 1er echo par les lignes qui gèrent les infos issu du formulaire pour envoyer le mail, alors je vois pas ce qui cloche....
0
titof29 Messages postés 38 Date d'inscription lundi 16 juin 2008 Statut Membre Dernière intervention 6 avril 2010 20
26 nov. 2009 à 08:38
Du code HTML digne des années 90, quelle horreur. Du coup ça ne m'étonne pas que rien ne marche, il doit y avoir des problèmes de compatibilité.
Cherche quelque chose de plus récent à mon avis.
0
Résolu.
0