Frage zu Login-Bereich mit MySQL

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Funky, 2. Mai 2006 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 2. Mai 2006
    Also:
    Ich habe jetzt mit MySQL bzw. PHP einen Login-Bereich "programmiert"
    und habe noch folgendes Problem:
    Ich bräuchte eine Abfrage, wie ich überprüfen kann ob ein bestimmter
    Name in der Datenbank Login Spalte nick schon existiert! Also im
    prinziep dass er überprüft ob der Nickname mit dem sich jmd. anmel-
    den will schon existiert (sonst gibts den namen ja doppelt)

    Also:

    if (???der Name schon existiert???)
    {
    echo "Tut mir leid, der nickname ist schon vergeben....";
    }
    else
    {
    weitere Abfragen zu PW...
    }

    Hoffe war nicht zu kompliziert!!
    Bei hilfreicher Antwort gibts natürlich ne 10er!!

    Vielen Dank schonmal...

    MfG, Funky
     
  2. 2. Mai 2006
    Zum Überprüfen ob ein Name exisitiert nimmst du folgendes:
    PHP:
    <? php
    $host 
    '' ;
    $usn  '' ;
    $pwd  '' ;
    mysql_connect ( $host , $usn , $pwd ) or die( 'Verbindung nicht möglich' );
    //dann der query:
    $query  "SELECT * FROM table WHERE name = ' $usn ' " ;
    $erg  mysql_query ( $query );
    if(
    mysql_num_rows ( $erg ) !=  )
    {
      echo 
    "User existiert bereits ..." ;
    }
    else
    {
      
    //wass auch immer
     
    echo  "jaja" ;
    }
    ?>
    MfG apollo13
     
  3. 2. Mai 2006
    Okay, thx!!
    Hoffe das klappt!! Werds gleich mal ausprobieren!!
    10er bekommste
    MfG, Funky

    //edit:
    Klappt irgendwie nicht!! Entweder ich bin zu blöd, oder
    der Quelltext von dir stimmt nicht!! Ich tippe auf ersteres!

    Meine Quelltext sieht jetzt so aus:


    <?php
    include("connect.php");

    $nick = $_POST["nickname"];

    $query = "SELECT * FROM login WHERE name = '$nick' ";
    $erg = mysql_query($query);
    if (mysql_num_rows($erg) != "" ) //in dieser Zeile ist der Fehler, laut Fehlermeldung//
    {
    echo "User existiert bereits ...";
    }
    else
    {
    ...weitere diverse Abfragen
    }

    Die Fehlermeldung:
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in (...will ich nicht verraten :] ) on line 15

    Hoffe jmd. kann mir helfen
     
  4. 2. Mai 2006
    aarg sorry, erstens gehört
    PHP:
    if( mysql_num_rows ( $erg ) !=  0 )
    und zweitens im Query gehört so:
    PHP:
    $query  "SELECT * FROM login WHERE name =  $nick  " ;
    Falls es dann noch immer nicht geht probiers im PHPMyAdmin ..

    MfG apollo13

    //Edit: Sollte es dann noch immer nicht gehen versuchs im query mal mit Like statt = , aber eigentlich muss = auch gehen
     
  5. 3. Mai 2006
    Klappt irgendwie immer noch nicht! Schade!!
    Trotzdem Danke für deine Mühe!!
    MfG, Funky
     
  6. 3. Mai 2006
    kommt zwar prinzipiell aufs selbe raus, aber vllt klappts:

    PHP:
    $line  mssql_fetch_array ( mysql_query ( "SELECT COUNT(name) AS count FROM login WHERE name = '" . $_POST [ "nickname" ]. "' " ));

    if (
    $line [ "count" ] >  0 )
    {
    echo 
    "User existiert bereits ..." ;
    }
    else
    {
    ...
    weitere diverse Abfragen
    }
    MfG Horus666
     
  7. 3. Mai 2006
    Ich würde dir raten den Query wirklich mal im PHPMyAdmin anschauen oder über mysql_error ausgeben, denn stimmen müsste der query und beim Rest kann nicht so viel falsch sein, wie mein Vorposter ja bemerkt hat. vlt. hast irgendwo nen Schreibfehler und der wird ja so nicht angezeigt, denn so bekommst du ja nur zurück not a valid ressource etc ...

    MfG apollo13
     
  8. 3. Mai 2006
    Wenn hier der Fehler ist:

    mysql_num_rows gibt doch nen int zurück, sprich 0 oder größer und kann doch selbst wenn keine Zeile vorhanden ist nie "" werden, oder täusch ich mich?

    siehe hier: http://www.php-center.de/de-html-manual/function.mysql-num-rows.html
     
  9. 3. Mai 2006
    @vorposter: hast recht aber habe ich eh ausgebessert ..., außerdem liegt der fehler nicht daran, sondern am Query wie die Fehlermeldung supplied argument is not a valid MySQL result resource in ... anzeigt.

    MfG apollo13
     
  10. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.