Problème : verifiez si le pseudo est déjà dans ma base de donnée

Fermé
smiley5555 Messages postés 80 Date d'inscription mercredi 18 avril 2012 Statut Membre Dernière intervention 11 octobre 2013 - 8 mars 2013 à 11:33
smiley5555 Messages postés 80 Date d'inscription mercredi 18 avril 2012 Statut Membre Dernière intervention 11 octobre 2013 - 9 mars 2013 à 00:03
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

smiley5555 Messages postés 80 Date d'inscription mercredi 18 avril 2012 Statut Membre Dernière intervention 11 octobre 2013 22
8 mars 2013 à 12:20
personne ???
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
8 mars 2013 à 12:30
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
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
8 mars 2013 à 14:49
<?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
Une petite faute de frappe également ici :
$pseudo = mysqli_real_escape_string($_POST['pseudo']);
0
smiley5555 Messages postés 80 Date d'inscription mercredi 18 avril 2012 Statut Membre Dernière intervention 11 octobre 2013 22
9 mars 2013 à 00:03
Merci de votre aide maintenant sa fonctionne correctement :)
0