Accueil > Forum > > > > Captcha sans image. Comment l'intégrer?
Captcha sans image. Comment l'intégrer?
lundi 5 mai 2008 à 22:34:24 |
Captcha sans image. Comment l'intégrer?

Davidoux94
|
Bonjour à tous !  Je viens vers vous pour avoir une réponse. J'ai un formulaire en ligne, en PHP, et depuis quelques temps je reçois des validations de robots, ce qui est toujours désagréable.  J'aimerais mettre en place un petit "captcha" afin de contrer les validation automatiques, mais je n'aime pas les captcha qu'on voit souvent, avec des lettres tordues, parfois dures à déchiffrer. Je voulais savoir si pouviez me donner une indication pour intégrer la phrase suivante :"Combien font deux + deux?" et la seule réponse possible serait "quatre". Voici mon code PHP : <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php // Couleur du texte des champs si erreur saisie utilisateur $color_font_warn="#FF0000"; // Couleur de fond des champs si erreur saisie utilisateur $color_form_warn="#FFCC66"; // Ne rien modifier ci-dessous si vous n'êtes pas certain de ce que vous faites ! $list['f_6']=array("Amincissement"," Yoga"," Musculation"," Pilates"," Tonification générale"," Self-Defense"," Tennis"," Squash"," Gym douce"); $list['f_8']=array("Salsa"," Tango"," Rock"," Danse oreintale"," Danse africaine"," Danse classique"," Modern'Jazz"," Country"," Valse"," Danse Africaine"); $list['f_10']=array("Fréquence découverte : 1 heure "," Fréquence Initiation : 3 heures "," Fréquence détermination : + 6 heures"); $list['f_11']=array("Formule Évasion : 3 heures de danse thématique "," Formule Enterrement de vie de célibataire"," Formule Apprendre la valse du mariage "); $list['f_14']=array("Oui"); if(isset($_POST['submit'])){ $erreur=""; // Nettoyage des entrées while(list($var,$val)=each($_POST)){ if(!is_array($val)){ $$var=strip_tags($val); }else{ while(list($arvar,$arval)=each($val)){ $$var[$arvar]=strip_tags($arval); } } } // Formatage des entrées $f_1=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_1))); $f_2=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_2))); $f_3=strip_tags(trim($f_3)); $f_5=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_5))); $f_7=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_7))); $f_9=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_9))); $f_12=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_12))); // Verification des champs if(strlen($f_1)<2){ $erreur.="<li><span class='txterror'>Le champ « Nom et Prénom » est vide ou incomplet.</span>"; $errf_1=1; } if(strlen($f_2)<2){ $erreur.="<li><span class='txterror'>Le champ « Téléphone » est vide ou incomplet.</span>"; $errf_2=1; } if(strlen($f_3)<2){ $erreur.="<li><span class='txterror'>Le champ « Email » est vide ou incomplet.</span>"; $errf_3=1; }else{ if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'. '@'. '[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'. '[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$', $f_3)){ $erreur.="<li><span class='txterror'>La syntaxe de votre adresse e-mail n'est pas correcte.</span>"; $errf_3=1; } } if(strlen($f_5)<2){ $erreur.="<li><span class='txterror'>Le champ « Ville » est vide ou incomplet.</span>"; $errf_5=1; } if(!$f_14){ $erreur.="<li><span class='txterror'>Le champ « Je déclare avoir pris connaissance des conditions générales de Vente et de les avoir acceptées. » requiert au moins une sélection.</span>"; $errf_14=1; } if($erreur==""){ // Création du message $titre="Message de votre site"; $tete="From:Site@Savoir-danser.com\n"; $corps.="Nom et Prénom : ".$f_1."\n"; $corps.="Téléphone : ".$f_2."\n"; $corps.="Email : ".$f_3."\n"; $corps.="Adresse (rue, digicode, ect) : ".$f_4."\n"; $corps.="Ville : ".$f_5."\n"; for($id=0; $id<count($list['f_6']); $id++){ if($f_6[$id]==1){ $corps.="Sport désiré (plusieur réponses possibles) : : ".$list['f_6'][$id]."\n"; } } $corps.="Autre sport (précisez) : ".$f_7."\n"; for($id=0; $id<count($list['f_8']); $id++){ if($f_8[$id]==1){ $corps.="Danse désirée (plusieurs réponses possibles) : ".$list['f_8'][$id]."\n"; } } $corps.="Autre danse (précisez) : ".$f_9."\n"; $corps.="Fréquence souhaitée : ".$list['f_10'][$f_10]."\n"; for($id=0; $id<count($list['f_11']); $id++){ if($f_11[$id]==1){ $corps.="Formules spéciales : ".$list['f_11'][$id]."\n"; } } $corps.="Si cours collectif, indiquez le nombre de personnes : : ".$f_12."\n"; $corps.="Remarques, suggestions : : ".$f_13."\n"; for($id=0; $id<count($list['f_14']); $id++){ if($f_14[$id]==1){ $corps.="Je déclare avoir pris connaissance des conditions générales de Vente et de les avoir acceptées. : ".$list['f_14'][$id]."\n"; } } if(mail("moi@monsite.com", $titre, stripslashes($corps), $tete)){ $ok_mail="true"; }else{ $erreur.="<li><span class='txterror'>Une erreur est survenue lors de l'envoi du message, veuillez refaire une tentative.</span>"; } } } ?>
<html xmlns="http://www.w3.org/1999/xhtml"> <head>
<style type="text/css" media="screen"> <!-- INPUT { color: #000; font-size: 11px; font-family: verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular; background-color: #EEEEEE } SELECT { color: #000; font-size: 11px; font-family: verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular; background-color: #EEEEEE } TEXTAREA { color: #000; font-size: 11px; font-family: verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular; background-color: #EEEEEE } .txterror { color: black; font-size: 11px; font-family: Verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular } .txtform { color: black; font-size: 12px; font-family: Verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular } body { background-image: url(/images/linefond.jpg); } .Style1 {color: #333333} .Style2 {color: #333333; font-size: 11px; font-family: Verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular; } .Style3 {color: #333333; font-size: 12px; font-family: Verdana, Arial, Helvetica, Geneva, Swiss, SunSans-Regular; } .Style4 { font-family: Arial, Helvetica, sans-serif; font-size: xx-large; } .Style5 { color: #9D080C; font-family: Arial, Helvetica, sans-serif; } .Style6 {font-size: 10px} a:link { color: #666666; } --> </style>
</head>
<body>
<? if($ok_mail=="true"){ ?> <table width='80%' border='0' cellspacing='1' cellpadding='1' align="center"> <tr><td><span class='txtform'>Le message ci-dessous nous a bien été transmis, et nous vous en remercions.</span></td></tr> <tr><td> </td></tr> <tr><td><tt><?echo nl2br(stripslashes($corps));?></tt></td></tr> <tr><td> </td></tr> <tr> <td><p class="txtform">Soyez assurés que nous donnerons une suite à votre demande dans les meilleurs délais.</p> <p class="txtform"> </p></td> </tr> </table> <? }else{ ?> <form action='<? echo $PHP_SELF ?>' method='post' name='Form'> <table width='95%' border='0' align="right" cellpadding='1' cellspacing='1'> <? if($erreur){ ?> <tr><td colspan='2' bgcolor='red'><span class='txterror'><font color='white'><b> ERREUR, votre message n'a pas été transmis</b></font></span></td></tr>
<tr><td colspan='2'><ul class="Style1"><?echo$erreur?></ul></td></tr><?}?> <tr> <td colspan='2'><div align="left"></td> </tr> <tr> <td colspan='2'><div align="left"><span class="Style4"><img src="particulier.jpg" alt="cours de danse particulier" width="103" height="34" /><br /> <img src="images/ligne-tiret.gif" alt="cours de sport a domicile" width="567" height="5" /><br /> <br /> FORMULAIRE DE RÉSERVATION</span></div></td> </tr> <tr> <td colspan='2'><div align="center"><span class="Style5">ou demande d'informations sans engagement. </span></div></td> </tr> <tr><td colspan='2'><div align="center"><span class='Style2'>Les champs marqué d'un * sont obligatoires</span></div></td></tr> <tr> <td height="26" align='right'> </td> <td> </td> </tr> <tr> <td width='51%' height="26" align='right'><span class='Style3'>Nom et Prénom* :</span></td> <td width="49%"><input name='f_1' type='text' style='width:200 <?if($errf_1==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' value='<?echo stripslashes($f_1);?>' size='24' border='0'></td></tr> <tr> <td width='51%' height="23" align='right'><span class='Style3'>Téléphone* :</span></td> <td><input name='f_2' type='text' style='width:200 <?if($errf_2==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' value='<?echo stripslashes($f_2);?>' size='24' border='0'></td></tr> <tr><td width='51%' height="25" align='right'><span class='Style3'>Email* :</span></td> <td><input name='f_3' type='text' style='width:200 <?if($errf_3==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' value='<?echo stripslashes($f_3);?>' size='24' border='0'></td></tr> <tr><td align='right' width='51%' VALIGN=TOP><span class='Style3'>Adresse (rue, digicode, ect) :</span></td> <td><span style="color: #333333"> <textarea style='width:360 <?if($errf_4==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_4' rows='6' cols='40'><?echo$f_4?></textarea> </span></td> </tr> <tr><td width='51%' height="23" align='right'><span class='Style3'>Ville* :</span></td><td><input name='f_5' type='text' style='width:200 <?if($errf_5==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' value='<?echo stripslashes($f_5);?>' size='24' border='0'></td></tr> <tr> <td height="32" align='right'> </td> <td> </td> </tr> <tr> <td width='51%' height="179" align='right' VALIGN=TOP><span class='Style3'>Sport désiré <span class="Style6">(plusieurs souhaits possibles)</span> :</span></td><td> <table border='0' cellspacing='0' cellpadding='0'> <? for($id=0;$id<count($list['f_6']);$id++){ if($f_6[$id]==1){$ct="checked";} print("<tr><td><input ".$ct." type='checkbox' name='f_6[$id]' value='1' border='0'></td><td><span class='txtform'>".$list[f_6][$id]."</span></td></tr>"); unset($ct); }?> </table> </td></tr> <tr><td align='right' width='51%'><span class='Style3'>Autre sport (précisez) :</span></td><td><input name='f_7' type='text' style='width:200 <?if($errf_7==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' value='<?echo stripslashes($f_7);?>' size='24' border='0'></td></tr> <tr> <td align='right'> </td> <td> </td> </tr> <tr> <td align='right' width='51%' VALIGN=TOP><span class='Style3'>Danse désirée <span class="Style6">(plusieurs souhaits possibles)</span> :</span></td><td> <table border='0' cellspacing='0' cellpadding='0'> <? for($id=0;$id<count($list['f_8']);$id++){ if($f_8[$id]==1){$ct="checked";} print("<tr><td><input ".$ct." type='checkbox' name='f_8[$id]' value='1' border='0'></td><td><span class='txtform'>".$list[f_8][$id]."</span></td></tr>"); unset($ct); }?> </table> </td></tr> <tr><td align='right' width='51%'><span class='Style3'>Autre danse (précisez) :</span></td><td><input name='f_9' type='text' style='width:200 <?if($errf_9==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' value='<?echo stripslashes($f_9);?>' size='24' border='0'></td></tr> <tr> <td align='right'> </td> <td> </td> </tr> <tr> <td align='right' width='51%' VALIGN=TOP><span class='Style3'>Fréquence souhaitée :</span></td><td> <table border='0' cellspacing='0' cellpadding='0'> <? for($id=0;$id<count($list['f_10']);$id++){ if($id==$f_10){$ct="checked";} print("<tr><td><input ".$ct." type='radio' name='f_10' value=".$id." border='0'></td><td><span class='txtform'>".$list[f_10][$id]."</span></td></tr>"); unset($ct); }?> </table> </td></tr> <tr> <td align='right' VALIGN=TOP> </td> <td> </td> </tr> <tr><td align='right' width='51%' VALIGN=TOP><span class='Style3'>Formules spéciales :</span></td><td> <table border='0' cellspacing='0' cellpadding='0'> <? for($id=0;$id<count($list['f_11']);$id++){ if($f_11[$id]==1){$ct="checked";} print("<tr><td><input ".$ct." type='checkbox' name='f_11[$id]' value='1' border='0'></td><td><span class='txtform'>".$list[f_11][$id]."</span></td></tr>"); unset($ct); }?> </table> </td></tr> <tr> <td align='right' width='51%'><span class='Style3'>Si cours collectif, indiquez le nombre de personnes :</span></td><td><input name='f_12' type='text' style='width:200 <?if($errf_12==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' value='<?echo stripslashes($f_12);?>' size='24' border='0'></td></tr> <tr> <td height="21" align='right'> </td> <td> </td> </tr> <tr> <td width='51%' height="88" align='right' VALIGN=TOP><p class="Style3"><strong>Disponibilités</strong> durant lesquelles <br /> vous souhaiteriez prendre vos cours, ou commentaires :</p> <p class="Style3 Style6">(Par exemple "Tous les jeudi matin" ou bien "Tous les soirs vers 19 heures", ect)</p></td> <td><span style="color: #333333"> <textarea style='width:360 <?if($errf_13==1){print("; background-color: ".$color_form_warn."; color: ".$color_font_warn);}?>;' name='f_13' rows='6' cols='40'><?echo$f_13?></textarea> </span></td></tr> <tr> <td align='right'> </td> <td> </td> </tr> <tr> <td align='right' width='51%'><span class='Style3'>Je déclare être majeur et avoir lu et <br /> accepté les conditions générales de Vente</a> .*</span></td> <td> <table border='0' cellspacing='0' cellpadding='0'> <? for($id=0;$id<count($list['f_14']);$id++){ if($f_14[$id]==1){$ct="checked";} print("<tr><td><input ".$ct." type='checkbox' name='f_14[$id]' value='1' border='0'></td><td><span class='txtform'>".$list[f_14][$id]."</span></td></tr>"); unset($ct); }?> </table> </td></tr> <tr> <td align='right'></td> <td> </td> </tr> <tr> <td align='right'> </td> <td><input name='submit' type='submit' value='Envoyer' border='0' /></td> </tr> <tr><td colspan="2" align='right'><span class="Style1"> </tr> </table> </td></tr> </table> </form> <? } ?>
</body> </html>Merci de vos lumières et à bientot ! David 
|
|
mardi 6 mai 2008 à 14:52:48 |
Re : Captcha sans image. Comment l'intégrer?

Teclis01
|
Après le captcha sans image, La tartine sans biscotte  Non découpe la partie importante sinon ça donne pas envie de lire et personne ne lit Il vaut mieux poser une question et passer pour bête que le rester toute sa vie Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
|
|
Cette discussion est classée dans : font, id, list, nbsp, if
Répondre à ce message
Sujets en rapport avec ce message
asp-php [ par tity3 ]
Bonjour!Je suis debutant en asp, j'ai un site ecrit en asp. J'aimerais le changer(traduire) en php. Serait il possible?Existe t'il un logiciel pour ca
compatibilité mozilla/IE7 [ par mga29 ]
bonsoir à tous.voilà, mon souci est le suivant : Je suis en train de créer un petit site de jeu sous Mozilla Firefox.j'ai écris a peut près une centai
sessions [ par rudybiss ]
salut à tousje suis en train de programmer en php (je suis debutant) et en ce moment je suis sur les sessions,et j'ai voulu tester un code pris sur un
pb: afficher et lire un pdf à partir d'un choix dans un menu déroulant [ par fredoann ]
Bonjour je souhaite à partir d'un menu déroulant "choix_avion" simplement lancer un fichier pdf (qu'il s'ouvre et que l'on puisse le lire);dans le men
javascript et php [ par amine390 ]
salutje veux utilise une fonction java script en php j'arrive pas a recupere la valeur de cette function l'erreur qui s'affiche est undifuned function
Problème de boucle [ par jonas03 ]
Bonjour à tous,Mon problème est le suivant : j'ai une requête qui permet de rechercher une personne si elle a un papier , et dans ma liste déroulante
formulaire de contact [ par n1nicks ]
bonjour tt le monde j'ai un probleme avec mon formulaire; quand on remplis les champs et on click sur envoyer; les champs se retablissent comme blank
Probleme récupération d'un id [ par sense ]
Bonsoir a tous Je rencontre un petit soucis, Je n'arrive pas a recupérer l'id d'un requete afin de m'en servir comme variablevoici ma source include("
Débitant en php aider moi svp [ par elhamidikhadija ]
<p cla
petit probleme de champs [ par chris tuckers ]
Ci-dessous vous trouverez un code qui au premier abord fonctionne, mais qui m'affiche l'erreur suivante lorsque je test la page ;Notice: Undefined var
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
XML ET PHPXML ET PHP par karouani
Cliquez pour lire la suite par karouani RE : GOOGLE MAPRE : GOOGLE MAP par inwebo
Cliquez pour lire la suite par inwebo
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|