Créer un compte
Connexion

probleme captcha

Pour créer et répondre aux sujets, vous devez être connecté.
Ce sujet est résolu.
Pages: 1
Auteur Message
Aniss42
05/08/2010 à 10:15:32
Aniss42
Membre
slt
je crois que vous savez deja ou est le probleme psk tout est dans le tite ,mais je v re'éxpliquer
j'ai un scrript qui me genere un captcha avec un code aléatoire chaque foi(genial tout marche)mais je n'arive pas a l'inclure dans un forumulaire
voici mon code
le fichier captcha s'apelle test.php

<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Captcha anti-spam simple et avec image                    */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts423-PHP.htm              */
/* Auteur         : Mhdi                                                      */
/* Date édition   : 02 Juil 2008                                              */
/*                                                                            */
/******************************************************************************/

session_start(); //Démarrer les sessions

//on crée une image vierge de dimensions 200*50
$image = imagecreate(200,50);

//Les polices  disponibles
$font1 = 'polices/1.ttf';
$font2 = 'polices/2.ttf';

// La taille de la police
$fontsize = 23;
//Les couleurs
$blanc = imagecolorallocate($image, 250, 250, 250);//Couleur blanche
$gris = imagecolorallocate($image, 128, 128, 128);//couleur grise
$noir = imagecolorallocate($image, 79, 79, 79);//Couleur noire

//Les coordonnées
$z=35;
$y=35;

//Les caractères pouvant être inscrits dans l'image
$txt=array("A","B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L",
"M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z",
 "1", "2", "3", "4", "5", "6", "7", "8", "9");

//Boucle qui permet d'afficher 5 caractères
for($x = 0; $x < 5; $x++)
{
    //Couleur au hasard
    $couleur = (mt_rand(0,1)==0) ? $noir : $gris;

    //police au hasard    
    $font = (mt_rand(0,1)==0) ? $font1 : $font2;
   
    //Caractère au hasard
    $v=mt_rand(0,34);
   
    //Le tout dans l'image
    imagettftext($image,$fontsize, mt_rand(0,25), $z, $y, $couleur, $font, $txt[$v]);
   
    //Le code
    $code.=$txt[$v];

    //Espace entre les caractères
    $z+=28;
}

//On affiche des lignes
for($i = 0; $i < 85; $i++)
{
    //Couleur des lignes
    $choix=mt_rand(0,1);
    $couleur = (mt_rand(0,1)==0) ? $noir : $gris;
   
    //Les lignes!
ImageLine($image,mt_rand(0,200),mt_rand(0,200),mt_rand(0,200),mt_rand(0,200),$couleur);
}

//La session qui contient le code
$_SESSION['code'] = $code;

//Le type de la page
header ("Content-type: image/png");
header('Cache-Control: no-store, no-cache, must-revalidate');
imagepng($image);

//On économise les ressources
imageDestroy($image);
?>
<html>

<form>
Veuillez entrer le code ici desssou:<br />
Nom d'utilisateur:<input type="text" name="1code" >

<input type="submit" value="Comfirmer" />

</form>
<?php if(isset($_POST['code']))
if ($_POST['1code'])== ['$code.']{
echo'bravo';
}
else
{
echo'faux';
}







 ?>




 
--------------------------------------------
voici mon formulaire



<?php

//On se connecte a la Base de donnee
include('mysqlcnn.php');
//Si lutilisateur est connecte, on le deconecte
if(isset($_SESSION['pseudo']))
{
//On le deconecte en supprimant simplement la session pseudo
unset($_SESSION['pseudo']);
?>
Vous avez bien &eacute;t&eacute; d&eacute;connect&eacute;.<br />
<a href="accueil.php">Accueil</a>
<?php
}
else
{
//On verifie si le formulaire a ete envoye
if(isset($_POST['pseudo'], $_POST['pass']))
{
//On echappe les variables pour pouvoir les mettre dans des requetes SQL
if(get_magic_quotes_gpc())
{
$pseudo = mysql_real_escape_string(stripslashes($_POST['pseudo']));
$pass = stripslashes($_POST['pass']);
}
else
{
$pseudo = mysql_real_escape_string($_POST['pseudo']);
$pass = $_POST['pass'];
}
//On recupere le mot de passe de lutilisateur
$req = mysql_query('select pass from utilisateurs where pseudo="'.$pseudo.'"');
$dn = mysql_fetch_array($req);
//On le compare a celui quil a entre et on verifie si le membre existe
if($dn['pass']==$pass and mysql_num_rows($req)>0)
{
//Si le mot de passe, on ne vas pas afficher le formulaire
$form = false;
//On enregistre son pseudo dans les sessions
$_SESSION['pseudo'] = $_POST['pseudo'];
?>
Vous avez bien &eacute;t&eacute; connect&eacute;. Vous pouvez acc&eacute;der &agrave; votre espace membre.<br />
<a href="accueil.php">Accueil</a>
<?php
}
else
{
//Sinon, on indique que la combinaison nest pas bonne
$form = true;
$message = 'La combinaison que vous avez entr&eacute; n\'est pas bonne.';
}
}
else
{
$form = true;
}
if($form)
{
//On affiche un message sil y a lieu
if(isset($message))
{
echo '<strong>'.$message.'</strong>';
}
//On affiche le formulaire
?>
<form action="connection.php" method="post">
Veuillez entrer vos identifiants pour vous connecter:<br />
Nom d'utilisateur:<input type="text" name="pseudo" value="<?php if(isset($_POST['pseudo'])){echo $_POST['pseudo'];} ?>" /><br />
Mot de passe:<input type="password" name="pass" /><br />
<?php include'test.php'?>
<input type="submit" value="Connection" />
</form>

<?php
}
}
?>
--------------------------
je voudrai que vcous maider a fair un code du genre
if $code_entrer_par_membre != $code_generer
{
echo"vous avez entrer le mauver code";
}
else if $code_entrer_par_membre == $code_generer
{
//on evnoi le formulaire et le membre peu se conecter
}
else
echo"une erreur s'est produit";
------------------------------------------------
merci d'avance  ;)

ybouane
05/08/2010 à 20:36:01
ybouane
Admin
Bonjour,
essaye ça:
test.php
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Captcha anti-spam simple et avec image                    */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts423-PHP.htm              */
/* Auteur         : Mhdi                                                      */
/* Date édition   : 02 Juil 2008                                              */
/*                                                                            */
/******************************************************************************/

session_start(); //Démarrer les sessions

//on crée une image vierge de dimensions 200*50
$image = imagecreate(200,50);

//Les polices  disponibles
$font1 = 'polices/1.ttf';
$font2 = 'polices/2.ttf';

// La taille de la police
$fontsize = 23;
//Les couleurs
$blanc = imagecolorallocate($image, 250, 250, 250);//Couleur blanche
$gris = imagecolorallocate($image, 128, 128, 128);//couleur grise
$noir = imagecolorallocate($image, 79, 79, 79);//Couleur noire

//Les coordonnées
$z=35;
$y=35;

//Les caractères pouvant être inscrits dans l'image
$txt=array("A","B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L",
"M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z",
 "1", "2", "3", "4", "5", "6", "7", "8", "9");

//Boucle qui permet d'afficher 5 caractères
for($x = 0; $x < 5; $x++)
{
    //Couleur au hasard
    $couleur = (mt_rand(0,1)==0) ? $noir : $gris;

    //police au hasard    
    $font = (mt_rand(0,1)==0) ? $font1 : $font2;
   
    //Caractère au hasard
    $v=mt_rand(0,34);
   
    //Le tout dans l'image
    imagettftext($image,$fontsize, mt_rand(0,25), $z, $y, $couleur, $font, $txt[$v]);
   
    //Le code
    $code.=$txt[$v];

    //Espace entre les caractères
    $z+=28;
}

//On affiche des lignes
for($i = 0; $i < 85; $i++)
{
    //Couleur des lignes
    $choix=mt_rand(0,1);
    $couleur = (mt_rand(0,1)==0) ? $noir : $gris;
   
    //Les lignes!
ImageLine($image,mt_rand(0,200),mt_rand(0,200),mt_rand(0,200),mt_rand(0,200),$couleur);
}

//La session qui contient le code
$_SESSION['1code'] = $code;

//Le type de la page
header ("Content-type: image/png");
header('Cache-Control: no-store, no-cache, must-revalidate');
imagepng($image);

//On économise les ressources
imageDestroy($image);
?>
connection.php
<?php

//On se connecte a la Base de donnee
include('mysqlcnn.php');
//Si lutilisateur est connecte, on le deconecte
if(isset($_SESSION['pseudo']))
{
//On le deconecte en supprimant simplement la session pseudo
unset($_SESSION['pseudo']);
?>
Vous avez bien &eacute;t&eacute; d&eacute;connect&eacute;.<br />
<a href="accueil.php">Accueil</a>
<?php
}
else
{
//On verifie si le formulaire a ete envoye
if(isset($_POST['pseudo'], $_POST['pass'], $_POST['1code']))
{
if($_POST['1code']==$_SESSION['1code'])
{
//On echappe les variables pour pouvoir les mettre dans des requetes SQL
if(get_magic_quotes_gpc())
{
$pseudo = mysql_real_escape_string(stripslashes($_POST['pseudo']));
$pass = stripslashes($_POST['pass']);
}
else
{
$pseudo = mysql_real_escape_string($_POST['pseudo']);
$pass = $_POST['pass'];
}
//On recupere le mot de passe de lutilisateur
$req = mysql_query('select pass from utilisateurs where pseudo="'.$pseudo.'"');
$dn = mysql_fetch_array($req);
//On le compare a celui quil a entre et on verifie si le membre existe
if($dn['pass']==$pass and mysql_num_rows($req)>0)
{
//Si le mot de passe, on ne vas pas afficher le formulaire
$form = false;
//On enregistre son pseudo dans les sessions
$_SESSION['pseudo'] = $_POST['pseudo'];
?>
Vous avez bien &eacute;t&eacute; connect&eacute;. Vous pouvez acc&eacute;der &agrave; votre espace membre.<br />
<a href="accueil.php">Accueil</a>
<?php
}
else
{
//Sinon, on indique que la combinaison nest pas bonne
$form = true;
$message = 'La combinaison que vous avez entr&eacute; n\'est pas bonne.';
}
}
else
{
$form = true;
$message = 'Le code que vous avez entré n\'est pas bon.';
}
}
else
{
$form = true;
}
if($form)
{
//On affiche un message sil y a lieu
if(isset($message))
{
echo '<strong>'.$message.'</strong>';
}
//On affiche le formulaire
?>
<form action="connection.php" method="post">
Veuillez entrer vos identifiants pour vous connecter:<br />
Nom d'utilisateur:<input type="text" name="pseudo" value="<?php if(isset($_POST['pseudo'])){echo $_POST['pseudo'];} ?>" /><br />
Mot de passe:<input type="password" name="pass" /><br />
<img src="test.php" /><br />
Code:<input type="text" name="1code" >
<input type="submit" value="Connection" />
</form>

<?php
}
}
?>
Cordialement

Image
Aniss42
05/08/2010 à 21:44:04
Aniss42
Membre
merci t genial ,ca marche a merveille :p
cordialment
aniss42


Pages: 1