Utilisateur unique

Mammouth du PHP | 1668 Messages

24 avr. 2008, 22:46

Bonsoir
Je suis enraint de créer un système d'inscription et j'aimerais savoir quel est le moyen pour que 2 utilisisateurs n'ai pas le même pseudo, j'ai pensé a count(*) mais bon, comment faire ???

Avez vous une autre solution ???

Par avance merci
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

ViPHP
AB
ViPHP | 5818 Messages

24 avr. 2008, 22:51

Heu... quel est le problème exactement ?

EDIT ah oui je vois, tu cherches à faire ta requête.
$Verif = "SELECT COUNT(champ_du_login) FROM Ta_Table WHERE champ_du_login = $login";

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

24 avr. 2008, 23:05

Le principe est le suivant : lorsque tu veux créer un utilisateur, il n'existe pas encore en base de données.
Tu disposes d'un nom d'utilisateur, et tu veux vérifier qu'il n'existe pas en base de données

Du coup, il suffit que tu fasses une requête qui recherche dans ta table le nombre d'utilisateur dont le nom est identique à celui que l'utilisateur a saisie.
S'il n'y a aucun résultat, c'est que le nom n'est pas encore utilisé, sinon, c'est que le nom est déjà utilisé.

Techniquement parlant, ça passe par un COUNT(), effectivement.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 2937 Messages

25 avr. 2008, 00:15

Il faut surtout ajouter un clé unique à la colonne censée recevoir les pseudos.

Code : Tout sélectionner

CREATE TABLE ma_table ( pseudo TEXT, UNIQUE pseudo (pseudo) );
ou bien, si la table a été créée (ainsi que la colonne en question)

Code : Tout sélectionner

ALTER TABLE ma_table ADD UNIQUE pseudo (pseudo)

Mammouth du PHP | 1668 Messages

25 avr. 2008, 09:36

Merci à tous, c'est bien ce que je me disais :/
Je pensais qu'il y avait une autre méthode, comme je ne connais pas tout ^^'

++
"À ceux qui poursuivent leurs rêves et se spécialisent dans l'impossible" Joseph Kong

10 ans de PHP, déjà.

"moi jtrouve que katagoto il déchire!" Nagol

ViPHP
AB
ViPHP | 5818 Messages

25 avr. 2008, 17:39

Merci à tous, c'est bien ce que je me disais :/
Je pensais qu'il y avait une autre méthode, comme je ne connais pas tout ^^'

++
Une autre méthode pour ta requête aurait été de ne pas utiliser COUNT
$Verif = "SELECT champ_du_login FROM Ta_Table WHERE champ_du_login = $login"; 
Mais COUNT sera plus performant car au lieu de retourner la valeur du champ, on se contente de compter le nombre d'enregistrements correspondant à la clause WHERE