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 -
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\'.';
}

4 réponses

  1. smiley5555 Messages postés 86 Statut Membre 22
     
    personne ???
    0
  2. ThEBiShOp Messages postés 9307 Date d'inscription   Statut Contributeur Dernière intervention   1 606
     
    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\'.';
    0
  3. Alain_42 Messages postés 5413 Statut Membre 904
     
    <?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
    0
    1. Frankfurt
       
      Une petite faute de frappe également ici :
      $pseudo = mysqli_real_escape_string($_POST['pseudo']);
      0
  4. smiley5555 Messages postés 86 Statut Membre 22
     
    Merci de votre aide maintenant sa fonctionne correctement :)
    0