[MySQL] - Incription

Fermé
Wolfylink Messages postés 192 Date d'inscription jeudi 11 juin 2009 Statut Membre Dernière intervention 14 novembre 2010 - 19 juil. 2009 à 15:14
 anonyme - 20 juil. 2009 à 06:56
Hello tous !
J'ai un problème très gênant pour mon site...
En fait, je fais un système d'incription, mais il y a un bug au moment où je regarde si le pseudo est libre.
En gros : je n'arrive pas à faire vérifier la disponibilité du pseudo... Pire, ca marche avec 1 compte, mais pas avec les autres !! :(

Voici mon code :

---CODE PHP---

if (isset($_POST['pseudo']))
{
if (isset($_POST['password']))
{
if ($_POST['pseudo'] != NULL AND $_POST['password'] != NULL)
{

mysql_connect("xxx", "yyy", "zzz");
mysql_select_db("yyy");

$pseudo = stripslashes(mysql_real_escape_string (htmlspecialchars ($_POST['pseudo'])));
$reponse = mysql_query("SELECT * FROM comptes");
$pseudo3 = strtoupper($pseudo);

mysql_close();

while ($donnees = mysql_fetch_array($reponse))
{
$pseudo2 = strtoupper($donnees['pseudo']);
if ($inscrit == 0)
{
if ($pseudo2 == $pseudo3)
{ ?>
<p>Ce pseudo est déjà pris !<br/>
Transfert automatique vers l'inscription dans 3 secondes.</p>
<meta http-equiv="refresh" content="3; URL=http://beatwar.free.fr/Site/inscrire.php">
<?php
$inscrit = 1;
}
else
{
mysql_connect("xxx", "yyy", "zzz");
mysql_select_db("yyy");
$password = stripslashes(mysql_real_escape_string (htmlspecialchars ($_POST['password'])));
$email = stripslashes(mysql_real_escape_string (htmlspecialchars ($_POST['email'])));

mysql_query("INSERT INTO comptes VALUES('', '$pseudo', '$password', '$email')");

mysql_query("INSERT INTO agences VALUES('', '', '1', '0', '0', '0', '0', '0', '0', '0', '0', '5000')");

mysql_query("INSERT INTO monstres VALUES('', '', '', '', '', '', '', '', '', '', '')");

mysql_query("INSERT INTO etat_monstres VALUES('', '', '', '', '', '')");

mysql_query("INSERT INTO stats_monstres VALUES('', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '')");

mysql_query("INSERT INTO constructeurs VALUES('', '', '', '')");

mysql_query("INSERT INTO construction VALUES('', '')");

mysql_query("INSERT INTO science VALUES('', '')");

mysql_query("INSERT INTO scientifiques VALUES('', '', '', '', '', '', '')");

mysql_query("INSERT INTO stats_constructeurs VALUES('', '', '', '', '', '', '')");

mysql_query("INSERT INTO stats_scientifiques VALUES('', '', '', '', '', '', '')");

mysql_close();
?>
<p>Vous êtes bien inscrit.<br/>
Retour vers l'accueil dans 2 secondes.</p>
<meta http-equiv="refresh" content="1; URL=http://beatwar.free.fr/index.php">
<?php
}
}
}
}


------

Pouvez-vous m'aider svp ?
Merci d'avance !

1 réponse

essaie cela^^



<?php
if (!empty($_POST['pseudo']) && !empty($_POST['password'])
{
if ($_POST['pseudo'] != NULL AND $_POST['password'] != NULL)
{

mysql_connect("xxx", "yyy", "zzz");
mysql_select_db("yyy");
//**************REGARDE ICI***************************************************************
$pseudo = stripslashes(mysql_real_escape_string (htmlspecialchars ($_POST['pseudo'])));
$meme_pseudo = mysql_query("SELECT COUNT(*) AS nbre FROM membre WHERE pseudo='$pseudo' ");// tu demande a mysql combien de personne on ce pseudo
$resultat_meme_pseudo = mysql_fetch_array($meme_pseudo);

if($resultat_meme_pseudo['nbre']>0)// si le nombre est plus grand que 0
{
?>
<p>Ce pseudo est déjà pris !<br/>
Transfert automatique vers l'inscription dans 3 secondes.</p>
<meta http-equiv="refresh" content="3; URL=http://beatwar.free.fr/Site/inscrire.php">
<?php
}
//*************REGARDE ICI*****************************************************************
mysql_close();
$inscrit = 1;

else
{
mysql_connect("xxx", "yyy", "zzz");
mysql_select_db("yyy");
$password = stripslashes(mysql_real_escape_string (htmlspecialchars ($_POST['password'])));
$email = stripslashes(mysql_real_escape_string (htmlspecialchars ($_POST['email'])));

mysql_query("INSERT INTO comptes VALUES('', '$pseudo', '$password', '$email')");

mysql_query("INSERT INTO agences VALUES('', '', '1', '0', '0', '0', '0', '0', '0', '0', '0', '5000')");

mysql_query("INSERT INTO monstres VALUES('', '', '', '', '', '', '', '', '', '', '')");

mysql_query("INSERT INTO etat_monstres VALUES('', '', '', '', '', '')");

mysql_query("INSERT INTO stats_monstres VALUES('', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '')");

mysql_query("INSERT INTO constructeurs VALUES('', '', '', '')");

mysql_query("INSERT INTO construction VALUES('', '')");

mysql_query("INSERT INTO science VALUES('', '')");

mysql_query("INSERT INTO scientifiques VALUES('', '', '', '', '', '', '')");

mysql_query("INSERT INTO stats_constructeurs VALUES('', '', '', '', '', '', '')");

mysql_query("INSERT INTO stats_scientifiques VALUES('', '', '', '', '', '', '')");

mysql_close();
?>
<p>Vous êtes bien inscrit.<br/>
Retour vers l'accueil dans 2 secondes.</p>
<meta http-equiv="refresh" content="1; URL=http://beatwar.free.fr/index.php">
<?php
}
}
}
}
0