rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

[PHP] Image de vérification de formulaire

Posté par Dorian, le mercredi 3 octobre 2007 à 21:41:22
Bonjour,

Je n'arrive pas à réaliser la fonction de vérification d'une combinaison présente sur une image de vérification de formulaire avec le code saisie par l'utilisateur qui devrait correspondre.

La création et l'enregistrement de la combisaison se fait comme cela :

$alphanum = "ABCDEFGHIJKLMNPQRSTUVWXYZ123456789";
$rand = substr(str_shuffle($alphanum), 0, 5);
$_SESSION['image_random_value'] = md5($rand);

La comparaison des deux combinaisons, comme cela :

if(md5($code) != $_SESSION['image_random_value']) {
$error = $error . "Le code ne correspond pas, réessayez !";
$checkpass = 'false';
}

Je recupère bien sur le code saisie par l'utilisateur dans la variable $code.

Avez-vous une solution pour ce problème bien embarrassant ?

Par avance, merci.

Dorian.
Configuration: Windows Vista
Firefox 2.0.0.7
Répondre à Dorian  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Carotte77, le mercredi 3 octobre 2007 à 21:57:49
Bonjour,

Je n'ai pas très bien saisi ton problème : tu souhaites élaborer un captcha code ?

Pour info : un captcha code est un outil anti spam pour formulaire, ou l'on demande à l'internaute d'entrer des chiffres et lettres dans une case pour vérifier qu'il n'est pas un robot (exemple ici : http://www.atelierphp5.com/images/captcha.jpg ) Cochez "Problème résolu" au début de la discussion lorsque votre problème est résolu ! Merci ;)
Répondre à Carotte77

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Dorian, le mercredi 3 octobre 2007 à 22:46:10
Bonsoir,


Ceci est déjà fait... (par la même occassion, je t'indique que ton lien est mort). En fait mon problème se situe à la phase de comparaison du code inscrit par l'utilisateur et du code crypté en md5 par le système anti spam...

Merci et bonne nuit.

Dorian
Répondre à Dorian

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Dorian, le mercredi 3 octobre 2007 à 22:48:14
PS: erreur, le lien n'est pas mort, je devais avoir un problème lors de son ouverture :S désolé..
Répondre à Dorian

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 Dorian, le jeudi 4 octobre 2007 à 16:14:07
Bonjour,

Suite à mon dernier message, voici le code que j'ai écris :

<?PHP if ( isset($_GET['image']) || $_POST['action'] == "submit" ) {
	session_start();
};

// CODE D'AUTHENTIFICATION GIF
if ( isset($_GET['image']) )
{

	$alphanum = "ABCDEFGHIJKLMNPQRSTUVWXYZ123456789";
	$rand = substr(str_shuffle($alphanum), 0, 5);
	$_SESSION['image_random_value'] = md5($rand);
	$image = imagecreatefromjpeg("img/bg".rand(1,2).".jpg&­quot;);
	$bgColor = imagecolorallocate ($image, 255, 255, 255);
	$textColor = imagecolorallocate ($image, 0, 0, 0);
	imagestring ($image, 5, 5, 2, $rand, $textColor);
	header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
	header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
	header("Cache-Control: no-store, no-cache, must-revalidate");
	header("Cache-Control: post-check=0, pre-check=0", false);
	header("Pragma: no-cache");
	header('Content-type: image/jpeg');
	imagejpeg($image);
	imagedestroy($image);
	exit;
}; ?>
<title>Titre page</title>
include("includes/config.inc.php"); ?>

            
			<span class="Style1"><p align="center">&nbsp;</p>
            <p align="center">Titre page</p>
            <p align="center">&nbsp;</p>
            </span>
			
<? if ($_POST['post']=="1") {

	$name = $_POST["name"];
	$firstname = $_POST['firstname'];
	$email1 = $_POST['email1'];
	$email2 = $_POST['email2'];
	$password1 = $_POST['password1'];
	$password2 = $_POST['password2'];
	$newsletter = $_POST['newsletter'];
	$termscheck = $_POST['terms'];
	$referrer = $_POST['referrer'];
	$code = $_POST['code'];

		if ($name == "") {
            $error = $error . 'Vous devez entrer votre nom<br>';
            $checkpass = 'false';
        }
		
		if (ereg('%', $name) || ereg('<', $name) || ereg('>', $name)) {
            $error = $error . 'Votre nom contient un/des caract&egrave;re/s non autoris&eacute;s<br>';
            $checkpass = 'false';
		}
		
		if ($firstname == "") {
            $error = $error . 'Vous devez entrer votre pr&eacute;nom<br>';
            $checkpass = 'false';
        }
		
		if (ereg('%', $firstname) || ereg('<', $firstname) || ereg('>', $firstname)) {
            $error = $error . 'Votre prénom contient un/des caract&egrave;re/s non autoris&eacute;s<br>';
            $checkpass = 'false';
		}

		$res = mysql_query("select count(*) from user where email='$email1'");
        if (mysql_result($res, 0) != 0) {
            $error = $error . 'Votre adresse e-mail est d&eacute;j&agrave; enregistr&eacute;e dans notre base de 		donn&eacute;es<br>';
            $checkpass = 'false';            
        }
		
        if (!ereg('@', $email1) || !ereg('.', $email1) || ereg('yopmail.com', $email1) || ereg('link2mail.net', $email1) || ereg('ephemail.net', $email1) || ereg('jetable.org', $email1)) {
            $error = $error . 'Votre adresse e-mail est invalide<br>';
            $checkpass = 'false';	
        }
		
        if ($email1 != $email2) {
            $error = $error . 'Les deux adresses e-mail saisies ne correspondent pas<br>';
            $checkpass = 'false';
        }
		 
	    if ($password1 == "") {
            $error = $error . 'Vous devez entrer un mot de passe<br>';
            $checkpass = 'false';
        } 
				        
		if (ereg('%', $password1) || ereg(' ', $password1)) {
            $error = $error . 'Votre mot de passe contient un/des caract&egrave;re/s non autoris&eacute;s<br>';
            $checkpass = 'false';
        }
		
		  if ($password1 != $password2) {
            $error = $error . 'Les deux mots de passe saisies ne correspondent pas<br>';
            $checkpass = 'false';
        }
	   
	    if ($termscheck != 1) {
            $error = $error . 'Vous devez accepter le r&egrave;glement pour vous inscrire<br>';
            $checkpass = 'false';
        }
        if(md5($code) != $_SESSION['image_random_value']) {
            $error = $error . "Le code ne correspond pas, réessayez !";
			$checkpass = 'false';
		}
			
		if ($checkpass == 'false') {
            $error = $error . '</font></b></div>';
            echo($error);
        }
		
		if ($checkpass != 'false') {
		echo("REQUETES + INSCRIPTION OK");
		;}
		
			
			 ;} else { ?>

			<form id="form" name="form" method="POST" action="<? $_SERVER['PHP_SELF'] ?>"><table width="600" border="0" align="center">
              <tr>
                <td height="40" colspan="2" class="Style1">Votre nom : </td>
                <td width="47%" height="40" class="Style1"><div align="center">
                  <input name="name" type="text" size="40" />                
                </div></td>
              </tr>
              <tr>
                <td height="40" colspan="2" class="Style1">Votre pr&eacute;nom : </td>
                <td width="47%" height="40" class="Style1"><div align="center">
                  <input name="firstname" type="text" size="40" />
                </div></td>
              </tr>
              <tr>
                <td height="40" colspan="2" class="Style1">Votre adresse e-mail : </td>
                <td width="47%" height="40" class="Style1"><div align="center">
                  <input name="email1" type="text" size="40" />
                </div></td>
              </tr>
              <tr>
                <td height="40" colspan="2" class="Style1">Votre adresse e-mail (confirmation) : </td>
                <td width="47%" height="40" class="Style1"><div align="center">
                  <input name="email2" type="text" size="40" />
                </div></td>
              </tr>
              <tr>
                <td height="40" colspan="2" class="Style1">Votre mot de passe : </td>
                <td width="47%" height="40" class="Style1"><div align="center">
                  <input name="password1" type="password" size="40" />
                </div></td>
              </tr>
              <tr>
                <td height="40" colspan="2" class="Style1">Votre mot de passe (confirmation) : </td>
                <td width="47%" height="40" class="Style1"><div align="center">
                  <input name="password2" type="password" size="40" />
                </div></td>
              </tr>
              <tr>
                <td height="40" colspan="2" class="Style1">Recevoir la lettre d'information : (?) </td>
                <td width="47%" height="40" class="Style1"><div align="center">
                  <input name="newsletter" type="checkbox" value="1" checked="checked" />
                </div></td>
              </tr>
              <tr>
                <td height="40" colspan="2" class="Style1">Acceptation du r&egrave;glement : </td>
                <td width="47%" height="40" class="Style1"><div align="center">
                  <input name="terms" type="checkbox" value="1" />
                </div></td>
              </tr>
              <tr>
                <td width="38%" height="40" class="Style1">Code de v&eacute;rification : (?) </td>
                <td width="15%" class="Style1"><div align="center"><img src="signup.php?image" border="1" width="60" height="20" /></div></td>
                <td height="40" class="Style1"><div align="center">
                  <input name="code" type="text" size="40" maxlength="5" />                
                </div></td>
              </tr>
              <tr>
                <td height="40" colspan="3" class="Style1"><div align="center">
				  <input name="referrer" type="hidden" value="<? echo $ref; ?>" />
				  <input name="post" type="hidden" value="1" />
                  <input type="submit" name="Submit" value="Inscription !" />
                </div></td>
                </tr>
            </table>
			</form>
			<span class="Style1">
			<p align="center">&nbsp;</p>
			</span>
			
			<? ;} ?>
Répondre à Dorian
Logiciels pertinents trouvés dans les téléchargements
Télécharger Image Resizer 1Image Resizer - Petit utilitaire (PowerToy) basique, très simple, permettant de réduire la taille d'une image, dans le but, notamment, de...Catégorie: Graphisme
Licence: Freeware/gratuit
Télécharger PHP Edit 0.6PHP Edit - PHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de...Catégorie: PHP
Licence: Freeware/gratuit
Télécharger VSO Image Resizer 2.0.1.9VSO Image Resizer - Le logiciel VSO Image Resizer organise vos photos en réduisant leur résolution et en les déplaçant facilement au sein de...Catégorie: Graphisme
Licence: Freeware/gratuit
Télécharger ImageWell 3.5.3ImageWell - ImageWell n'est pas à proprement parler un logiciel de Retouche photo. Il permet plutôt de préparer des images pour le...Catégorie: Retouche photo
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « [PHP] Image de vérification de formulaire »