Vérifier si un membre existe [PHP]

Résolu
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

  1. 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
    1. 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
      1. 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
        1. 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
        2. 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