Vérifier si un membre existe [PHP]

[Résolu/Fermé]
Signaler
-
 Profil bloqué -
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.

3 réponses

Messages postés
18581
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 octobre 2021
4 327
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci


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 :)
Messages postés
1562
Date d'inscription
vendredi 28 août 2009
Statut
Membre
Dernière intervention
8 avril 2015
194
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... ^^
Messages postés
18581
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 octobre 2021
4 327
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.
Messages postés
1562
Date d'inscription
vendredi 28 août 2009
Statut
Membre
Dernière intervention
8 avril 2015
194
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...