Vérifier si un membre existe [PHP]

Résolu/Fermé
Profil bloqué - Modifié par Th3tagg3r le 11/06/2011 à 12:55
 Profil bloqué - 11 juin 2011 à 23:49
Bonjour,
Je suis en train de créer un espace membre pour mon site, et je suis embêter, j'ignore comment vérifier qu'une information est présente dans la base de données.

Autrement dit, comme le titre l'indique, je voudrais vérifier si l'identifiant qu'un utilisateur entre lors de son inscription existe, et si c'est le cas, lui afficher un message d'erreur, lui demandant d'en choisir un autre.

Je n'ai vraiment pas d'idée de la manière de procéder... Je ne vous demande pas de coder a ma place, j'attends simplement une idée de la procédure en bon français. :)

Merci pour votre aide.

A voir également:

3 réponses

avion-f16 Messages postés 19243 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 8 avril 2024 4 496
11 juin 2011 à 17:25
Salut,

Il suffit de compter le nombre d'entrées dont la colonne « pseudo » vaut ta variable POST.

Exemple (avec PDO) :
<?php
$sql = 'SELECT COUNT(*) AS nb '.
           'FROM membres '.
           'WHERE LCASE(pseudo)=' . $bdd->quote(strtolower($_POST['pseudo']));

$result = $bdd->query($sql);
$row = $result->fetch();

if($row['nb'] > 0) {
    echo 'Erreur : pseudo déjà utilisé !';
} else {
    echo 
}
1
Profil bloqué
11 juin 2011 à 23:49
Merci pour vos réponses.
J'avais en effet une solution similaire en tête, mais je me demandais si compter était la bonne solution alors je me contentais d'attendre gentiment :)
0
Meoran Messages postés 1562 Date d'inscription vendredi 28 août 2009 Statut Membre Dernière intervention 8 avril 2015 203
11 juin 2011 à 19:49
Pourquoi compter ? Ca marche mais ce n'est pas la logique vu que soit il y a un et un seul login dans la bd, soit il y en a 0. Retourner un booléen serait beaucoup plus logique ;)
True = présent
False = non présent

Oui je sais je chipote, mais en tant qu'informaticien rigoureux... ^^
-1
avion-f16 Messages postés 19243 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 8 avril 2024 4 496
11 juin 2011 à 19:58
En comptant, le script retournera 0 ou 1.

Et en PHP :
1 == true
0 == false

Mais
1 !== true
0 !== false

PDO::query() ne retourne pas un booléen mais une ressource (PDOStatement)
Pareil avec mysql_query()
Par contre, en cas d'erreur, ces fonctions retournent false.
0
Meoran Messages postés 1562 Date d'inscription vendredi 28 août 2009 Statut Membre Dernière intervention 8 avril 2015 203
11 juin 2011 à 20:06
En effet, ma méthode ne marche que si les exceptions pour PDO sont activées. J'oublie toujours ce détail car personnellement j'active toujours les exceptions...
0