Problème : verifiez si le pseudo est déjà dans ma base de donnée
smiley5555
Messages postés
86
Statut
Membre
-
smiley5555 Messages postés 86 Statut Membre -
smiley5555 Messages postés 86 Statut Membre -
Bonjour tout le monde,
Je fais un site et au niveau de l'inscription je coince sur un petit problème je n'arrive pas a vérifiez si le pseudo est déjà dans ma BDD du coup je peux me retrouvez avec 2 pseudos identique :s
je vous montre mon bout de code qui est censé permettre de verifier ceci :
//on verifie si le pseudo est déjà entré dans la base de donnée ou pas
$login = mysqli_real_escape_string($_POST['peudo']);
$sql = "SELECT COUNT(*) AS nbr FROM membres WHERE pseudo = '".$login."'";
$query = mysql_query($sql);
$assoc = mysql_fetch_assoc($res);
//on l'informe si jamais
if(isset($_POST['pseudo']))
{
if(!($alors['nbr'] == 0))
{
$error_pseudo2 = 'Ce pseudo est déja utilisé.';
}
else
{
$error_pseudo2 = 'Ce pseudo n'est pas utilisé.';
}
else
{
$error = 'vous n'avez pas remplit le champ \'pseudo\'.';
}
Je fais un site et au niveau de l'inscription je coince sur un petit problème je n'arrive pas a vérifiez si le pseudo est déjà dans ma BDD du coup je peux me retrouvez avec 2 pseudos identique :s
je vous montre mon bout de code qui est censé permettre de verifier ceci :
//on verifie si le pseudo est déjà entré dans la base de donnée ou pas
$login = mysqli_real_escape_string($_POST['peudo']);
$sql = "SELECT COUNT(*) AS nbr FROM membres WHERE pseudo = '".$login."'";
$query = mysql_query($sql);
$assoc = mysql_fetch_assoc($res);
//on l'informe si jamais
if(isset($_POST['pseudo']))
{
if(!($alors['nbr'] == 0))
{
$error_pseudo2 = 'Ce pseudo est déja utilisé.';
}
else
{
$error_pseudo2 = 'Ce pseudo n'est pas utilisé.';
}
else
{
$error = 'vous n'avez pas remplit le champ \'pseudo\'.';
}
4 réponses
-
-
Bonjour,
je te conseille d'utiliser au minimum les balises code, et au mieux d'utiliser un site comme https://pastebin.com/ pour rendre ton compte le plus lisible possible à ceux qui vont t'aider !!
Dans ton cas avec un code aussi court ça n'est pas dramatique mais c'est une bonne habitude à prendre ;)
Ceci étant dit...
il y a plusieurs soucis dans ton code
Déjà tu fais :$assoc = mysql_fetch_assoc($res);
mais tu vérifies la variable $alors['nbr']
en plus, tu fais un ! sur ta condition, ce qui peut rendre ta condition difficile à lire, il vaudrait mieux faire :if ($alors['nbr'] != 0)) {
Ensuite il manque une 2ème } après le 1er else
et pour terminer, il ne faut pas oublier d'échaper les quote dans tes chaines de caractères sinon tu auras des erreurs de syntaxe :
$error_pseudo2 = 'Ce pseudo n\'est pas utilisé.'; $error = 'vous n\'avez pas remplit le champ \'pseudo\'.';
-
<?php if(isset($_POST['pseudo'])) { //on verifie si le pseudo est déjà entré dans la base de donnée ou pas //donc il vaut mieux faire cela seulement après avoir vérifié que le pseudo a été saisi //et faire la connexion à la BDD avant //connexion serveur //selection BDD //puis $pseudo = mysqli_real_escape_string($_POST['peudo']); //si c'est pseudo pourquoi l'appeler login ? $sql = "SELECT COUNT(*) AS nbr FROM membres WHERE pseudo = '".$pseudo."'"; $query = mysql_query($sql); $resultat = mysql_fetch_assoc($query); //et la il faut faire le fetch sur la réponse de la requette (tu avait un $res ??) //on l'informe si jamais if($resultat['nbr'] > 0)) { $error_pseudo2 = 'Ce pseudo est déja utilisé.'; } else { $error_pseudo2 = 'Ce pseudo n\'est pas utilisé.'; } } //il te manquait cette } fermante du if(isset($_POST['pseudo'])) else { $error = 'vous n\'avez pas remplit le champ \'pseudo\'.'; } je pense que plus bas dans tu code tu fais des echo $error_pseudo2 echo $error -
Merci de votre aide maintenant sa fonctionne correctement :)