begin process at 2012 05 28 14:46:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

captcha ne focntionne pas


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

captcha ne focntionne pas

jeudi 8 septembre 2011 à 19:57:48 | captcha ne focntionne pas

romantica

bonjour,je viens d'installer un captcha visuelle et malgré le code tapé faux l'inscription est validé quand même,merci de l'aide si toutefois quelqu’un veut bien m’aider j’apprécierais,voici le formulaire en question:
Code PHP :
<?php
 
 /*
  * Created on 4 mai 07
  *
  * @autor : The Kankrelune
  * @copyright : The WebFaktory © 2006/2007
  * 
  */

if(isset($_POST['captchaResult']))
{
	session_start();
	
	if(isset($_POST['caseInsensitive']))
	{
		$_POST['captchaResult'] = strtolower($_POST['captchaResult']);
		$_SESSION['captchaResult'] = strtolower($_SESSION['captchaResult']);
	}
	
	if($_POST['captchaResult'] === $_SESSION['captchaResult'])
		$result = '<div class="result true">Bonne r&eacute;ponse bonne... bravo... .. !</div><br />';
			else
				$result = '<div class="result false">Mauvaise r&eacute;ponse... pas de chance... il fallait r&eacute;pondre '.$_SESSION['captchaResult'].'... .. !</div><br />';
}
else $result = '';

echo '<?xml version="1.0" encoding="ISO-8859-1"?>'."\n"; 

?>
<script type="text/javascript" language="Javascript" >
<!--
function verification()

{



 if(document.formulaire.pseudo.value == "")  {
   alert("Veuillez entrer un pseudo svp");
   document.formulaire.pseudo.focus();
   return false;
  }
   else if(document.formulaire.pwd.value == "") {
   alert("Veuillez entrer un mot de passe svp");
   document.formulaire.pwd.focus();
   return false;
  }
   else if(document.formulaire.pwd2.value == "") {
   alert("Veuillez confirmer votre mot de passe svp");
   document.formulaire.pwd2.focus();
   return false;
  }
  else   if(document.formulaire.pwd2.value != document.formulaire.pwd.value) {
   alert("Veuillez entrer un mot de passe identique svp");
   document.formulaire.pwd2.focus();
   return false;
  }
  
  else   if(document.formulaire.mail.value == "") {
   alert("Veuillez entrer une adresse email svp");
   document.formulaire.mail.focus();
   return false;
  }
  
  else  if(document.formulaire.mail.value.indexOf('@') == -1) {
   alert("Ce n'est pas une adresse mail valide");
   document.formulaire.mail.focus();
   return false;
  }
  
  else  if(document.formulaire.mail.value.indexOf('.') == -1) {
   alert("Ce n'est pas une adresse mail valide");
   document.formulaire.mail.focus();
   return false;
  }
 function verif_email($email,$verif_srv=false)
{
$email=strtolower($email);
if(preg_match("#^[a-z0-9._-]{1,}+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#",$email))
{
$dns="www.".substr(strchr($email,'@'),1);
return (!$verif_srv || gethostbyname($dns)!=$dns)?true:false;
}
return false;
}
   else if(document.formulaire.accord.checked == false) {
   alert("Veuillez accepter la difusion de vos coordonnées svp");
   document.formulaire.accord.focus();
   return false;




  } 
  
  	
return true
}
//-->

</script>

<table width="940" border="0" align="left" >

	<TR>
		<TD width="150" valign="top">
			<?php include('frame_gauche.php'); ?>
		</TD>

		<TD>

<?php
	
if ($_SESSION['loginOK'] == true) {
	include('menus_session.htm');
	echo "</br>";	
}
	
If ($modif != 2) {

$modif=$_GET['modif'];

		$pseudo2="";
		$mail="";
		$pwd="";
		$nom="nom";
		$prenom="prenom";
	}
if ($_SESSION['loginOK'] == true AND $modif == 1) {
	
	$id=$_SESSION['id'];
		
	include('connexion_SQL.php');
		
	$reponse = mysql_query("SELECT * FROM conducteurs WHERE ID='$id'") or die(mysql_error());
		
	while ($donnees = mysql_fetch_array($reponse) ) {
		$pseudo2=$donnees['pseudo'];
		$mail=$donnees['mail'];
		$pwd=$donnees['pwd'];
		$nom=$donnees['nom'];
		$prenom=$donnees['prenom'];
		$tel=$donnees['tel'];
		}
		
	mysql_close();
	}
	
	else {
		//$modif = "";
		}
?>

		
		
<form name="formulaire" action="

<?php
if ($modif == 1) { echo"enregistre_conducteur.php?modif=1"; }
else {echo"enregistre_conducteur.php"; }
?>

" method="post" onSubmit="return verification()">
  
  <table width="750" border="0">
    <tr>
      <td width="240" height="24"><p><strong>Je m'identifie:</strong></p>
      </td>
      <td width="500">&nbsp;</td>
  </tr>
  </table>
  
	
	<table width="750" border="0">
    <tr>
      <td width="240" height="24"><div align="right">Mon pseudo*</div></td>
      <td width="500"><input type="text" name="pseudo" <?php echo "value=\"$pseudo2\""; ?> ></td>
    </tr>
	</table>
	
	<table width="750" border="0">
    <tr>
      <td height="8"></td>
    </tr>
	</table>
  
	<table width="750" border="0">
  <tr>
    <td width="240" height="24"><div align="right">Je choisis un mot de passe*</div></td>
    <td width="500"><input type="password" name="pwd" <?php echo "value=\"$pwd\""; ?> ></td>
  </tr>
	</table>
  
  <table width="750" border="0">
  <tr>
    <td width="240" height="24"><div align="right">Je confirme le mot de passe*</div></td>
      <td width="500"><input type="password" name="pwd2" <?php echo "value=\"$pwd\""; ?>></td>
  </tr>
	</table>
<p>&nbsp;</p>
<p><strong>Pour me joindre:</strong></p>
<table width="750" border="0">
  <tr>
    <td width="240" height="24"><div align="right">Mon adresse mail*      </div></td>
    <td width="500"><input type="text" name="mail" <?php echo "value=\"$mail\""; ?>></td>
  </tr>
</table>

	<table width="750" border="0">
  <tr>
    <td width="240" height="24"><div align="right">Mon t&eacute;l&eacute;phone</div></td>
    <td width="500"><input type="text" name="tel" <?php echo "value=\"$tel\""; ?>></td>
  </tr>
	</table>

	
<p>* champs obligatoires</p>

<BR>

<p>
  <input name="accord" type="checkbox" value="oui" <?php if ($modif != "") {echo"checked"; } else {echo "unchecked"; } ?> >
  J'accepte que mes coordonnées soient communiquées aux usagers de ce site (dans tous les cas mon adresse mail ne sera pas visible sur le site)<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ce site s'engage à ne pas communiquer vos données à toute autre personne que les utilisateurs de ce site.<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Je decharge les createurs de ce site de toute responsabilité en cas de problème survenu lors du covoiturage. 
  
  <br />
</p>
<blockquote>
  <p>
   	  <input name="soumettre" type="submit" value="Valider" >
	  <html>
	 <head>
		<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
		<meta http-equiv="content-language" content="french" />
		<title>Captcha</title>
		<style type="text/css">
	    <!--//
	    body { background-color:#F8F8F8; } 
	    input
		{
			border: #000000 1px solid; 
			margin-bottom:2px;
			vertical-align:middle;
			display: in-line;
			background-color:#ffffff;
		}
		input[type="checkbox"] { border: none; } 
		.result { margin:auto;text-align:center; }
		.true { color:#00ff00; }
		.false {  color:#ff0000; }
		//-->
		</style>
	</head>
<body>
	<div style="width:75%;margin:auto;margin-top:30px;">
		<fieldset style="text-align:center;">
			<legend>Captcha</legend>
				<br />
			<?php echo $result; ?>
			<form action="index.php?" method="post">
				<label for="captchaResult">Veuillez recopier le code affich&eacute; : </label><input type="text" name="captchaResult" size="10" /> <img src="captcha.php" style="vertical-align:middle;" />
					<br />
				<input type="checkbox" name="caseInsensitive" value="1" <?php echo isset($_POST['caseInsensitive']) ? 'checked="checked" ' : ''; ?>/> Case insensitive 
					<br />
				<input type="submit" value="Go" />
			</form>
		</fieldset>
	  </div>

	  <?php include('adressesip.php'); ?>
  </p>
</blockquote>
</form>

</TD>
</TR>

</table>
</body>

</html>

je pense qui il y a un problème mais je ne vois pas !
merci de l'aide
cordialement
jeudi 8 septembre 2011 à 20:17:26 | Re : captcha ne focntionne pas

cod57

bonsoir
essaye la session_start() en haut du code

Code PHP :
<?php
	session_start(); 
 /*
  * Created on 4 mai 07
  *
  * @autor : The Kankrelune
  * @copyright : The WebFaktory © 2006/2007
  * 
  */

if(isset($_POST['captchaResult']))
{

	
	if(isset($_POST['caseInsensitive']))
	{
		$_POST['captchaResult'] = strtolower($_POST['captchaResult']);
		$_SESSION['captchaResult'] = strtolower($_SESSION['captchaResult']);
	}
	
	if($_POST['captchaResult'] === $_SESSION['captchaResult'])
		$result = '<div class="result true">Bonne r&eacute;ponse bonne... bravo... .. !</div><br />';
			else
				$result = '<div class="result false">Mauvaise r&eacute;ponse... pas de chance... il fallait r&eacute;pondre '.$_SESSION['captchaResult'].'... .. !</div><br />';
}
else $result = '';

echo '<?xml version="1.0" encoding="ISO-8859-1"?>'."\n"; 

?>
<script type="text/javascript" language="Javascript" >
<!--
function verification()

{



 if(document.formulaire.pseudo.value == "")  {
   alert("Veuillez entrer un pseudo svp");
   document.formulaire.pseudo.focus();
   return false;
  }
   else if(document.formulaire.pwd.value == "") {
   alert("Veuillez entrer un mot de passe svp");
   document.formulaire.pwd.focus();
   return false;
  }
   else if(document.formulaire.pwd2.value == "") {
   alert("Veuillez confirmer votre mot de passe svp");
   document.formulaire.pwd2.focus();
   return false;
  }
  else   if(document.formulaire.pwd2.value != document.formulaire.pwd.value) {
   alert("Veuillez entrer un mot de passe identique svp");
   document.formulaire.pwd2.focus();
   return false;
  }
  
  else   if(document.formulaire.mail.value == "") {
   alert("Veuillez entrer une adresse email svp");
   document.formulaire.mail.focus();
   return false;
  }
  
  else  if(document.formulaire.mail.value.indexOf('@') == -1) {
   alert("Ce n'est pas une adresse mail valide");
   document.formulaire.mail.focus();
   return false;
  }
  
  else  if(document.formulaire.mail.value.indexOf('.') == -1) {
   alert("Ce n'est pas une adresse mail valide");
   document.formulaire.mail.focus();
   return false;
  }
 function verif_email($email,$verif_srv=false)
{
$email=strtolower($email);
if(preg_match("#^[a-z0-9._-]{1,}+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#",$email))
{
$dns="www.".substr(strchr($email,'@'),1);
return (!$verif_srv || gethostbyname($dns)!=$dns)?true:false;
}
return false;
}
   else if(document.formulaire.accord.checked == false) {
   alert("Veuillez accepter la difusion de vos coordonnées svp");
   document.formulaire.accord.focus();
   return false;




  } 
  
  	
return true
}
//-->

</script>

<table width="940" border="0" align="left" >

	<TR>
		<TD width="150" valign="top">
			<?php @include('frame_gauche.php'); ?>
		</TD>

		<TD>

<?php
	
if (isset($_SESSION['loginOK']) && $_SESSION['loginOK'] == true) {
	@include('menus_session.htm');
	echo "</br>";	
}
	
If (isset($modif) && $modif != 2) {

$modif=$_GET['modif'];

		$pseudo2="";
		$mail="";
		$pwd="";
		$nom="nom";
		$prenom="prenom";
	}
if (isset( $_SESSION['loginOK']) && $_SESSION['loginOK'] == true AND $modif == 1) {
	
	$id=$_SESSION['id'];
		
	@include('connexion_SQL.php');
		
	$reponse = mysql_query("SELECT * FROM conducteurs WHERE ID='$id'") or die(mysql_error());
		
	while ($donnees = mysql_fetch_array($reponse) ) {
		$pseudo2=$donnees['pseudo'];
		$mail=$donnees['mail'];
		$pwd=$donnees['pwd'];
		$nom=$donnees['nom'];
		$prenom=$donnees['prenom'];
		$tel=$donnees['tel'];
		}
		
	mysql_close();
	}
	
	else {
		//$modif = "";
		}
?>

		
		
<form name="formulaire" action="

<?php
if ($modif == 1) { echo"enregistre_conducteur.php?modif=1"; }
else {echo"enregistre_conducteur.php"; }
?>

" method="post" onSubmit="return verification()">
  
  <table width="750" border="0">
    <tr>
      <td width="240" height="24"><p><strong>Je m'identifie:</strong></p>
      </td>
      <td width="500">&nbsp;</td>
  </tr>
  </table>
  
	
	<table width="750" border="0">
    <tr>
      <td width="240" height="24"><div align="right">Mon pseudo*</div></td>
      <td width="500"><input type="text" name="pseudo" <?php if(isset($pseudo2) ) echo "value=\"$pseudo2\""; ?> ></td>
    </tr>
	</table>
	
	<table width="750" border="0">
    <tr>
      <td height="8"></td>
    </tr>
	</table>
  
	<table width="750" border="0">
  <tr>
    <td width="240" height="24"><div align="right">Je choisis un mot de passe*</div></td>
    <td width="500"><input type="password" name="pwd" <?php if(isset($pwd)) echo "value=\"$pwd\""; ?> ></td>
  </tr>
	</table>
  
  <table width="750" border="0">
  <tr>
    <td width="240" height="24"><div align="right">Je confirme le mot de passe*</div></td>
      <td width="500"><input type="password" name="pwd2" <?php if(isset($pwd))  echo "value=\"$pwd\""; ?>></td>
  </tr>
	</table>
<p>&nbsp;</p>
<p><strong>Pour me joindre:</strong></p>
<table width="750" border="0">
  <tr>
    <td width="240" height="24"><div align="right">Mon adresse mail*      </div></td>
    <td width="500"><input type="text" name="mail" <?php if(isset($mail)) echo "value=\"$mail\""; ?>></td>
  </tr>
</table>

	<table width="750" border="0">
  <tr>
    <td width="240" height="24"><div align="right">Mon t&eacute;l&eacute;phone</div></td>
    <td width="500"><input type="text" name="tel" <?php if(isset($tel))  echo "value=\"$tel\""; ?>></td>
  </tr>
	</table>

	
<p>* champs obligatoires</p>

<BR>

<p>
  <input name="accord" type="checkbox" value="oui" <?php if (isset($modif) && $modif != "") {echo"checked"; } else {echo "unchecked"; } ?> >
  J'accepte que mes coordonnées soient communiquées aux usagers de ce site (dans tous les cas mon adresse mail ne sera pas visible sur le site)<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ce site s'engage à ne pas communiquer vos données à toute autre personne que les utilisateurs de ce site.<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Je decharge les createurs de ce site de toute responsabilité en cas de problème survenu lors du covoiturage. 
  
  <br />
</p>
<blockquote>
  <p>
   	  <input name="soumettre" type="submit" value="Valider" >
	  <html>
	 <head>
		<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
		<meta http-equiv="content-language" content="french" />
		<title>Captcha</title>
		<style type="text/css">
	    <!--//
	    body { background-color:#F8F8F8; } 
	    input
		{
			border: #000000 1px solid; 
			margin-bottom:2px;
			vertical-align:middle;
			display: in-line;
			background-color:#ffffff;
		}
		input[type="checkbox"] { border: none; } 
		.result { margin:auto;text-align:center; }
		.true { color:#00ff00; }
		.false {  color:#ff0000; }
		//-->
		</style>
	</head>
<body>
	<div style="width:75%;margin:auto;margin-top:30px;">
		<fieldset style="text-align:center;">
			<legend>Captcha</legend>
				<br />
			<?php echo $result; ?>
			<form action="index.php?" method="post">
				<label for="captchaResult">Veuillez recopier le code affich&eacute; : </label><input type="text" name="captchaResult" size="10" /> <img src="captcha.php" style="vertical-align:middle;" />
					<br />
				<input type="checkbox" name="caseInsensitive" value="1" <?php echo isset($_POST['caseInsensitive']) ? 'checked="checked" ' : ''; ?>/> Case insensitive 
					<br />
				<input type="submit" value="Go" />
			</form>
		</fieldset>
	  </div>

	  <?php @include('adressesip.php'); ?>
  </p>
</blockquote>
</form>

</TD>
</TR>

</table>
</body>

</html>
<!--
je pense qui il y a un problème mais je ne vois pas ! 
merci de l'aide 
cordialement
-->


Bonne programmation !
jeudi 8 septembre 2011 à 20:46:53 | Re : captcha ne focntionne pas

kohntark

Membre Club
Salut,

Oula !! Avant même de te soucier de ce problème de captcha je te conseille de revoir ton code HTML.

- il y a du code HTML et javascript en dehors des balises <body>
-

echo '<?xml version="1.0" encoding="ISO-8859-1"?>'."\n";


=> je ne sais pas ce que tu cherches à faire là mais il est clair que ça va mal marcher

Code Javascript :
function verif_email($email,$verif_srv=false) {
$email=strtolower($email);
if(preg_match("#^[a-z0-9._-]{1,}+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#",$email))
{
$dns="www.".substr(strchr($email,'@'),1);
return (!$verif_srv || gethostbyname($dns)!=$dns)?true:false;
}
return false;
}
   else if(document.formulaire.accord.checked == false) {
   alert("Veuillez accepter la difusion de vos coordonnées svp");
   document.formulaire.accord.focus();
   return false;

=> c'est du PHP dans du JS ça ?

- tu dois avoir des dizaines d'erreurs / notices PHP (variables non définies, etc ...)
Pour le debug il est indispensable que tu actives leur affichage en ajoutant ces lignes tout en haut de la page :

Code PHP :
<?php
ini_set('display_startup_errors', true);
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>


- les balises <body> et <head> ne sont pas au bon endroit
- il y a des balises orphelines
- etc ... etc ...

Pour t'aider tu peux faire un tour ici :
http://validator.w3.org/



Cordialement,


Kohntark -
jeudi 8 septembre 2011 à 21:36:17 | Re : captcha ne focntionne pas

romantica

je viens de mettre le code debug et voila les erreurs:
Code PHP :
A session had already been started - ignoring session_start() in /home/....c/public_html/trajet06.com/frame_gauche.php on line 2


Notice: Undefined index: loginOK in /home/.......c/public_html/trajet06.com/frame_gauche.php on line 35

 

 

Pseudo


Mot de passe
 identifiants oubliés ?

	  S'inscrire

Menu Principal

    Accueil
    Voir les trajets
    Régles
    Contact
    echange de lien
    Forum

trajet06.com
Valid XHTML 1.1

	
Notice: Undefined index: loginOK in /home/...../public_html/trajet06.com/saisir_donnees_perso.php on line 115

Notice: Undefined variable: modif in /home/....../public_html/trajet06.com/saisir_donnees_perso.php on line 120

Notice: Undefined index: modif in /home/...../public_html/trajet06.com/saisir_donnees_perso.php on line 122

Notice: Undefined index: loginOK in /home/...../public_html/trajet06.com/saisir_donnees_perso.php on line 130

Je m'identifie:
	 
Mon pseudo*
	
Je choisis un mot de passe*
	
Je confirme le mot de passe*
	

 

Pour me joindre:
Mon adresse mail*
	
Mon téléphone
	Notice: Undefined variable: tel in /home/.../public_html/trajet06.com/saisir_donnees_perso.php on line 213
value="">

* champs obligatoires

merci de l'aide
jeudi 8 septembre 2011 à 21:51:43 | Re : captcha ne focntionne pas

kohntark

Membre Club

je viens de mettre le code debug et voila les erreurs


Très bien, mais où est ta question ? As tu restructuré ton code HTML ?
Qu'en est il de mes autres remarques ?


A session had already been started - ignoring session_start() in /home/....c/public_html/trajet06.com/frame_gauche.php on line 2


Un session_start() ne doit être présent qu'une seule fois alors qu'il l'est dans le script que tu fournis ET dans frame_gauche.php où il est, pour ce cas de figure, inutile. En même temps l'inverse serait plus logique car j'imagine que la frame gauche est un élément commun à l'ensemble du site.
Voir la doc pour plus d'informations sur les sessions.

Pour les "Undefined" et bien, ... il faut les définir et/ou les tester (isset()) avant leur utilisation.


Cordialement,

Kohntark -


Cette discussion est classée dans : mail, donnees, site, modif, captcha


Répondre à ce message

Sujets en rapport avec ce message

titre d'un mail : fonction mail() [ par bbProg ] Bonjour,je cherche à envoyer un message avec la fonction mail()mais les caraactères spéciaux du titre s'affichent mal :ex : mail($email2,"Lien vers un formul mail + outlook=probleme [ par ganelous ] Bonjour à tous (et à toutes),grâce au script simplemail présent sur ce site j'ai créé un formulaire d'envoie de mail avec plusieurs pièces attachées.C Envoi de mail [ par Blacknight91titi ] Salutbon alors voilaje dévelope un site pour quelqu'un.j'ai mis un lien pour acheter un produit.Je voudrai savoir comment faire pour envoyer une deman Fonction mail() [ par VictorWani ] Bonjour,Je m'auto-héberge avec Apache 2.0.52 et PHP 4.3.9 et MySQL.Mais je n'arrive pas à envoyer des mails depuis ce site.J'aimerais savoir ce qu'il Mail au format texte [ par morpheus262 ] Salut,j ai encore un petit probleme avec mes envoie de mail.voilaje voudrai afficher du texte un minimum mis en forme par exemple:BonjourSuite à l'enr Probleme avec des mail html [CodeRmaN] [ par OlivierAfpaRoubaix ] Bonjour à tous,Je recherche actuellement quelqu'un qui pourrait à résourdre certaines énigmes qui me parraissent insurmontables. 1 - Je suis entrain d Alerter par mail. [ par Jouban ] Bonjour!J'ai vu sur ce site qu'il était possible d'être alerté par mail soit lors d'un nouveau message sur un forum, soit lors d'une réponse à un de n site sur seveur [ par henri12 ] j ai mis mon site sur un serveur mais quand il essai d ouvrir ou ecrireun fichier au format txtil me dit: Warning: fopen(mail.txt): failed to open str problème d'envoi email [ par lucky_girl3 ] bonjour je viens de finir une application de site web et de l'heberger dans le serveur de l'entrprise concernée ; le problème que j'ai c'est l'envoi d envoi email:comment fait on pour la configuration? [ par lucky_girl3 ] bonjour je viens de finir une application de site web et de l'heberger dans le serveur de l'entrprise concernée ; le problème que j'ai c'est l'envoi


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales