user-registrierung > check ob nickname schon belegt

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • user-registrierung > check ob nickname schon belegt

    Hi! Ich bastel zur Zeit an einem kleinen Forum, um mir php beizubringen, und die vielen guten Antworten hier haben mir schon viele Fragetopics erspart. Jetzt hab ich doch eine:

    Was ist die eleganteste Lösung, um zu überprüfen, ob schon ein User mit dem Nickname vorhanden ist (bei der registrierung).

    So läuft das ab bei mir:
    registrierung.php mit forumlar > submit > registrierung.php wertet aus, weißt auf fehler hin und trägt dann in die db ein oder - bei fehlern - gibt erneut formular aus.

    ich habe eine mysql tabelle "user" mit einer "nick" spalte - was ist nun die beste mysql abfrage um das zu überprüfen, ohne einen mysql fehler zu kriegen? mir fällt nur ein, alle user in ein array zu packen und das dann in einer schleife zu überprüfen, aber das sollte doch eleganter gehen?

    Besten dank

  • #2
    warum fragst du die db nicht vor dem eintrag, ob ein nick scho enthalten ist?
    Kissolino.com

    Kommentar


    • #3
      weil ich nicht weiß wie das geht *schäm*

      und ich hab im forum gesucht und hab so eine frage leider nicht gefunden

      Kommentar


      • #4
        Code:
        SELECT irgendwas FROM tabelle WHERE nick='wunschnick'
        wenn es ein ergebnis gibt, dürfte der nick schon vergeben sein
        Kissolino.com

        Kommentar


        • #5
          SELECT COUNT(nick) FROM user WHERE nick = $eingegebenerNick

          Falls obige Abfrage 0 (die Zahl Null) liefert, gibt es den Nick noch nicht. Du könntest ihn also eintragen.
          Bekommst du jedoch eine 1 als Ergebnis, wurde der Nick schon mal vergeben. Nun solltest du das dem Neuling mitteilen, auf dass er sich einen neuen ausdenkt.
          Liefert die Abfrage einen Wert größer als 1, gibt es diesen Nickname schon mehrfach und dann hast du erneut ein Problem.
          EDIT:
          Ok, ich war langsamer, aber hab's eben bißchen mehr ausgeschmückt.

          Kommentar


          • #6
            Original geschrieben von onemorenerd
            EDIT:
            Ok, ich war langsamer, aber hab's eben bißchen mehr ausgeschmückt.
            OffTopic:
            schwätzer
            Kissolino.com

            Kommentar


            • #7
              vielen vielen dank für die antwort - leider kommt nochmal was von mir , denn genau da weiß ich eben nicht weiter weil ich diese mysql befehle nicht drauf habe.

              $query=mysql_query("SELECT * FROM user WHERE nick = '$nick'")
              or die (mysql_error());

              Jetzt kann ich mit

              for ($i=0;$i<mysql_num_rows($query);$i++)
              {
              $inhalt[$i]=mysql_fetch_array($query);
              }
              die Inhalte abrufen und dann natürlich kucken, ob ($nick==$inhalt[$i][nick])

              Nur das sieht irgendwie so kompliziert aus, und du hast das so einfach beschrieben daher frag ich mich eben obs da noch eine andere möglichkeit gibt ohne das so zu machen


              edit: arghh so langsam geantwortet das dazwischen schon 2 antworten neu sind! vielen dank auch an den "schwätzer"

              (problem gelöst , danke euch)
              Zuletzt geändert von chrischris; 02.11.2005, 00:56.

              Kommentar

              Lädt...
              X