Probleme php et captcha

Fermé
cedric91 Messages postés 64 Date d'inscription lundi 20 avril 2009 Statut Membre Dernière intervention 7 octobre 2012 - 13 avril 2010 à 21:04
cedric91 Messages postés 64 Date d'inscription lundi 20 avril 2009 Statut Membre Dernière intervention 7 octobre 2012 - 14 avril 2010 à 21:55
bonjour a tous

j'ai un annuaire qui marche tres bien depuis 3 ans mais depuis quelques mois, je recois de soumissions de robots.
donc, j'ai opté pour le script de cryptograph http://www.captcha.fr/?page=34
mon annuaire est basé sur le script 1two annuaire

j'ai suivi le processus d'instalation du script captcha mais je flanche sur le dernier code qui permet de verifier la saisie.
<?php
  if (chk_crypt($_POST['code'])) 
     echo "Bravo";
     else echo "Erreur";
?>


Je ne sais vraiment pas comment modifier et integrer ce code de facon a ce que lorsque on rentre le bon code, cela valide la soumission et que lorsqu on rentre un mauvais code, ca affiche "erreur"

voici la portion du code de soumission (a savoir que tous le script de l'annuaire est sur une seule page

si une ame charitable passe par la, ce serait sympa un petit coup de main

en vous remerciant

if ($_GET['menu']=="submitsite")
	{
	

	for ($j=0; $j<strlen($_POST['email']); $j++)
		{
		if ( substr($_POST['email'],$j,1)=="@" ) { $validmail1="ok"; }
		if ( substr($_POST['email'],$j,1)=="." ) { $validmail2="ok"; }
		}
	if (($_POST['SubmitSite']=="Valider") and ($validmail1=="ok") and ($validmail2=="ok") and ($_POST['owner']!="") and ($_POST['email']!="") and ($_POST['titresite']!="") and ($_POST['urlsite']!="") and ($_POST['urlsite']!="http://") and (chk_crypt($_POST['code'])) and ($_POST['descriptionsite']!="")) 
	
		{
		if ($list_preferences[4]=="0") {$autovalid=0;} else {$autovalid=1;}
		$query="INSERT INTO 1two_annuaire_sites (categorie, owner, mail, titre, url, description, date_ins, heure_ins, valide) VALUES ('$listecat', '$owner', '$email', '$titresite', '$urlsite', '$descriptionsite', NOW(), NOW(), '$autovalid')";
		$res_modif_site = @mysql_query($query,$db);
		if ($list_preferences[4]=="0") {
		echo "<br><span class='textebig'><img src='design/ls-valid.gif'> Le site $urlsite vient d'être proposé dans l'annuaire, il est en attente de validation.</span><br><br>"; }
		else {
		echo "<br><span class='textebig'><img src='design/ls-valid.gif'> Le site $urlsite vient d'être ajouté dans l'annuaire.</span><br><br>";}
		$owner=""; $email=""; $titresite=""; $urlsite=""; $descriptionsite="";
		mail("$list_preferences[8]","Site ajouté dans votre annuaire","Le site $titresite a été ajouté dans votre annuaire.","From: $list_preferences[6] <$list_preferences[8]>\r\n");
		}
		
	else
		{
		 
		if (($_POST['SubmitSite']=="Valider") and (($validmail1!="ok") or ($validmail2!="ok"))) {echo "<span class='texte'>Adresse email incorrecte.</span>";}
		}
	echo "<br><span class='textebig'>Proposer un site (tous les champs sont obligatoires)</span><br><br>";
	echo "<form name='formeditsite' method='post' action=''>";
	echo "<table width='100%' border='0' cellspacing='3' cellpadding='0' class='texte'><tr>";
	echo "<td width='30%' align='right' valign='top'></td><td>";
	echo "<select name='listecat'>";
	echo "<option value='0'>Choisissez une catégorie</option>";
	$query="SELECT * FROM 1two_annuaire_cat ORDER BY nom ASC";
	$res_compteur = @mysql_query($query,$db);
	if (@mysql_num_rows($res_compteur)!=0)
		{
		$nbcompteur=mysql_num_rows($res_compteur);
		for ($i=0; $i<$nbcompteur; $i++)
			{
			$list_compteur=@mysql_fetch_row($res_compteur);
			$query="SELECT * FROM 1two_annuaire_cat WHERE inside='$list_compteur[3]'";
			$res_bout = @mysql_query($query,$db);
			if (@mysql_num_rows($res_bout)==0)
				{
				$tabmenu=""; $ligne="";
				$idliste=$list_compteur[3];
				while ($idliste!=0)
					{
					$query="SELECT * FROM 1two_annuaire_cat WHERE compteur='$idliste'";
					$res_idliste = @mysql_query($query,$db);
					$list_idliste=@mysql_fetch_row($res_idliste);
					$tabmenu[]="$list_idliste[0]";
					$idliste=$list_idliste[2];
					}
				$nbrtabmenu=count ($tabmenu);
				for ($t=$nbrtabmenu-1; $t>=0; $t--)
					{
					if ($t==$nbrtabmenu-1) {$ligne=$ligne . "$tabmenu[$t]";}
					else {
					$ligne=$ligne . " > $tabmenu[$t]"; }
					if ($tabfinal=="") {$tabfinal[]="$ligne";}
					else { if (in_array($ligne,$tabfinal)!=1) {$tabfinal[]="$ligne";} }
					}
				}
			}
		$nbrtabfinal=count ($tabfinal);
		$tabfinal[]=rsort($tabfinal);
		for ($f=$nbrtabfinal-1; $f>=0; $f--)
			{
			$tablastword= explode(" > ",$tabfinal[$f]); 
			$lastword=$tablastword[count($tablastword)-1];
			$query="SELECT compteur FROM 1two_annuaire_cat WHERE nom='$lastword'";
			$res_compteur_last_word = @mysql_query($query,$db);
			$list_compteur_last_word=@mysql_fetch_row($res_compteur_last_word);
			echo "<option value='$list_compteur_last_word[0]' "; if ($id=="$list_compteur_last_word[0]") {echo "selected";} echo ">$tabfinal[$f]</option>";
			}
		}
	echo "</select>";
	echo "</td></tr><tr>";
	echo "<td width='30%' align='right' valign='top'>Votre nom : </td>";
	echo "<td><input name='owner' type='text' size='40' maxlength='20' value='$owner'></td>";
	echo "</tr><tr>";
	echo "<td align='right' valign='top'>Adresse email : </td>";
	echo "<td><input name='email' type='text' size='40' maxlength='100' value='$email'></td>";
	echo "</tr><tr>";
	echo "<td align='right' valign='top'>Titre du site : </td>";
	echo "<td><input name='titresite' type='text' size='40' maxlength='100' value='$titresite'></td>";
	echo "</tr><tr>";
	echo "<td align='right' valign='top'>Url du site : </td>";
	echo "<td><input name='urlsite' type='text' size='40' maxlength='200' value='"; if ($urlsite=="") {echo "http://";} else {echo $urlsite;} echo "'></td>";
	echo "</tr><tr>";
	echo "<td align='right' valign='top'>Description du site :<br>";
	echo "<span class='tips'>300 caractères max</span></td>";
	echo "<td><textarea name='descriptionsite' cols='40' rows='8' onkeyup='keyup(this)'>$descriptionsite</textarea><br><div id='txtmsg'>&nbsp;</div><br></td>";
	echo "</tr><tr><td align='right'>&nbsp;</td>";
	?>
	<td width="300" border="0" cellspacing="0" cellpadding="0">
  
  <tr><td><?php dsp_crypt(0,1); ?></tr></td> 
          <tr>
          <td>Recopier le code:<input type="text" name="code"></td></tr>
</td>
<?php
	echo "<td><input type='submit' name='SubmitSite' value='Valider'></td>";
	echo "</tr></table></form>";
	}


9 réponses

cedric91 Messages postés 64 Date d'inscription lundi 20 avril 2009 Statut Membre Dernière intervention 7 octobre 2012
14 avril 2010 à 17:58
page 5 en 24 H, personne pour m'aider ??
0
bg62 Messages postés 23682 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 14 février 2025 2 396
14 avril 2010 à 19:08
prends le temps de regarder dans les tutos de CCM (astuces)
il y a des formulaires ET des captchas ...
0
cedric91 Messages postés 64 Date d'inscription lundi 20 avril 2009 Statut Membre Dernière intervention 7 octobre 2012
14 avril 2010 à 21:18
Justement, j'ai regarder mais j'ai pas trouvé de solution.
0
bg62 Messages postés 23682 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 14 février 2025 2 396
14 avril 2010 à 21:21
je suppose que tu as regardé là aussi :
https://www.commentcamarche.net/faq/s/webmaster-9/formulaire
?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cedric91 Messages postés 64 Date d'inscription lundi 20 avril 2009 Statut Membre Dernière intervention 7 octobre 2012
14 avril 2010 à 21:27
oui, d'ailleurs, c'est le seul resultat si tu entres "captcha" dans le moteur de recherche.
si tu retires les sites en anglais (que je ne comprends pas) et les services en ligne, il ne reste plus que crytophp, celui que j'essais d'installer.
0
bg62 Messages postés 23682 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 14 février 2025 2 396
14 avril 2010 à 21:29
il n'y a rien en anglais !!! c'est sur CCM et il y a formulaire ET captcha ....
tu peux regarder ici...
0
cedric91 Messages postés 64 Date d'inscription lundi 20 avril 2009 Statut Membre Dernière intervention 7 octobre 2012
14 avril 2010 à 21:39
sur cette page https://www.commentcamarche.net/faq/s/webmaster-9/formulaire deux liens sont en anglais, deux sont des services en ligne, un pas tres interressant, il reste que cryptophp.

je te rappelle que mon code est un code de soumission pour un annuaire, pas une page de contact (installer le code de verification sur un formulaire de contact, c'est easy) mais la, ca envoie les infos sur ma base sql, pas dans ma boite mail
0
bg62 Messages postés 23682 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 14 février 2025 2 396
14 avril 2010 à 21:50
mon annuaire est basé sur le script 1two annuaire

et il n'y a pas de faq ou d'entraide chez eux ?
0
cedric91 Messages postés 64 Date d'inscription lundi 20 avril 2009 Statut Membre Dernière intervention 7 octobre 2012
14 avril 2010 à 21:55
c'est tout ce que tu peux apporter comme reponse ???? et apres, tu oses me mettre un lien pour me dire que je suis un boulet.

bien sur qu'il y a un faq et un forum mais j'ai vu de la lumiere ici et je me suis dit :

" tiens !!! ils ont l'air sympa sur ce forum, vais leur poser ma question directement plutot que d'attendre 3 mois pour avoir une reponse inexperé sur l'autre forum"
0