cs_Mizuka
Messages postés66Date d'inscriptionjeudi 4 août 2005StatutMembreDernière intervention16 décembre 2009
-
4 août 2005 à 23:35
cs_Mizuka
Messages postés66Date d'inscriptionjeudi 4 août 2005StatutMembreDernière intervention16 décembre 2009
-
5 août 2005 à 20:04
Bonsoir confrère codeurs :D
Voilà je suis sur un script d'inscription. Et là en ce moment je butte
sur un code qui est crée par une image dynamique ( en php donc ). Je
vous mets les scripts où interviennent ces fameux codes ( ah ui y en a
deux parce qu'à un moment faux bien que j compare le vrai code avec
celui entré par le visiteur :) )
,
Inscription
,
<form
action="index.php?page=inscription_verif" enctype="multipart/form-data"
method="post">
<fieldset>
Les champs marqués d'un * sont
obligatoires.,
----
Nom de Guerrier: *,
"
/>,
----
Adresse e-mail: *,
"
/>,
----
Mot de passe: *
,
"
/>,
----
Confirmez le mot de passe: *
,
"/>,
----
/********************************************************************
* La partie du formulaire contenant l'image et le champs pour entrer le code *
********************************************************************/
Tapez ce qu'affiche l'image :
,
/***************************
* Fin de la zone concernée *
***************************/,
----
<td class=\"cat\" colspan=\"2\" align=\"center\">
</fieldset>
<fieldset>
<label for=\"confirm\">J'ai lu et j'accepte les conditions générales du
site.</label>
<center>
&nbsp;&nbsp;
</td>
</center>
</fieldset>
</form>
</td>
inscription_verif.php :
PHP Code
<?
include('config.inc.php');
mysql_connect($hebergeur, $utilisateur, $mdp);
mysql_select_db($bdd);
$select = mysql_query("SELECT * FROM `membres` WHERE
pseudo='".$_POST['pseudo']."'") or die('Erreur verif_inscription:
'.mysql_error());
$membres = mysql_fetch_array($select);
//Simplification
$pseudo = htmlentities ($_POST['pseudo']);
$pass = htmlentities ($_POST['pass']);
$pass2 = md5($pass); // le fameux cryptage
<!--emo&:o--><!--endemo-->))
$confirm_pass = htmlentities ($_POST['confirm_pass']);
$email = $_POST['email'];
//les variables $_SESSION
$_SESSION['pseudo'] = $pseudo;
$_SESSION['pass'] = $pass; // non crypté
$_SESSION['pass2'] = $pass2; // crypté
$_SESSION['confirm_pass'] = $confirm_pass;
$_SESSION['email'] = $email;
$code = $_SESSION['code']; // Les 2 variables pour vérifier l'exactitude du code
$code1 = $_POST['code'];
if (isset($membres['pseudo'])) //si le pseudo est déja utilisé
{
echo '<meta
http-equiv="refresh" content="3 ;
index.php?page=inscription&amp;pseudo='.$pseudo.'&amp;email='.$email.'&amp;pass='.$pass.'"
/><center>Désolé mais ce pseudo est déjà utilisé. Veuillez en
choisir un autre.
L\'équipe de
Fantasia.</center>';
}
elseif (isset($membres['email']))
{
echo '<meta
http-equiv="refresh" content="3 ;
index.php?page=inscription&amp;pseudo='.$pseudo.'&amp;email='.$email.'&amp;pass='.$pass.'"
/><center>Désolé mais cet email est déjà utilisé. Veuillez en
enctrer un autre.
L\'équipe de
Fantasia.</center>';
}
//Ici la comparaison
elseif($code != $code1)
{
echo '<meta http-equiv="refresh" content="3 ;
index.php?page=inscription&amp;pseudo='.$pseudo.'&amp;email='.$email.'&amp;pass='.$pass.'"
/><center>Le code de l\'image que vous avez tapez est
erroné.</center>';
}
else
{
if ($pseudo AND $pass AND $confirm_pass AND $email !NULL AND $code $code1) //si tout est remplit
{
if ($pass != $confirm_pass) //si la confirmation du pass n'est pas correct
{
echo '<meta http-equiv="refresh" content="3 ;
index.php?page=inscription&amp;pseudo='.$pseudo.'&amp;email='.$email.'&amp;pass='.$pass.'"
/><center>La confirmation de votre mot de passe est
erronée.
Veuillez réitérer l\'opération.</center>';
}
}
elseif ($pseudo OR $pass OR $confirm_pass OR $email == NULL) //si il y a un ou plusieurs champ(s) non remplit(s)
{
echo '<meta http-equiv="refresh" content="3 ;
index.php?page=inscription&amp;pseudo='.$pseudo.'&amp;email='.$email.'&amp;pass='.$pass.'"
/><center>Il vous est recommandé de bien vouloir remplir tout
les champs obligatoires (*) pour que l\'inscription se fasse
correctement.</center>';
}
if (empty($_POST['conditions'])) //si le client n'a pas accepté les conditions d'utilisations
{
echo '<meta http-equiv="refresh" content="3 ;
index.php?page=inscription&amp;pseudo='.$pseudo.'&amp;email='.$email.'&amp;pass='.$pass.'"
/><center>Vous n\'avez pas accepté les conditions
d\'utilisations</center>';
}
if (!isset($membres['pseudo'])) //si le pseudo n'est pas déja utilisé
{
if (!isset($membres['email'])) //si l'email n'est pas déja utilisé
{
if ($pseudo AND $pass AND $confirm_pass AND $email != NULL) //si tout est remplit
{
if ($pass == $confirm_pass) //si la confirmation du pass est correcte
{
if (!empty($_POST['conditions'])) //si le client a accepté les conditions d'utilisations
{
echo '<center>Votre pseudo : '.$pseudo.'Votre
mot de passe : '.$pass.'Votre email :
'.$email.'</center>';
}
}
?>
<center><form action="index.php?page=inscription_fin" method="post">
</center>
</form>
<center><form
action="index.php?page=inscription&amp;pseudo=<?php echo
$pseudo; ?>&amp;email=<?php echo $email;
?>&amp;pass=<?php echo $pass; ?>"
method="post">
</center>
<?
}
}
}
}
?>
Voilà je crois pas avoir oublié quelque chose. Vous pouvez regarder la
totalité du code si vous voulez parce que ça doit pas être joli.
cs_Mizuka
Messages postés66Date d'inscriptionjeudi 4 août 2005StatutMembreDernière intervention16 décembre 2009 5 août 2005 à 20:04
Uhuh !! Oui je suis vraiment désolé ! Bon j'ai trouvé la solution à mon
soucis mais je vais l'exposer et donner ma soluce pour ceux qui aurait
le même problème.
Donc voilà dans le formulaire d'inscription j'affiche image.php qui
génère un code aléatoire ( système utilisé pour éviter que des bots
s'inscrivent ) & mon problème était que le code que j'enregistrai
dans $_SESSION['code'] ne donnait rien sur la page
inscription_verif.php . Pourtant je démarrais bien une session ( avec
session_start() dans ma page index ( ah oui j'oubliais mon site est
structuré que par des includes ) )
J'ai finalement trouvé d'où venait le problème !
Quand j'affiche image.php je l'affiche avec une balise ( qui ne vaut pas un include et n'est pas une balise php :) )
Il faut donc démarré une session ( toujours avec session_start() ) AUSSI dans image.php.
Voilà :)
Merci Malik & désolé
Pour ceux qui trouvent idiot que je détail autant c'est pour le cas où des débutants liraient ce message ;)