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 été déconnecté.<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 été connecté. Vous pouvez accéder à 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é 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
|
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 été déconnecté.<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 été connecté. Vous pouvez accéder à 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é 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
|
Membre
|
merci t genial ,ca marche a merveille
cordialment
aniss42
|