User wird bei SQL-Abfrage nicht gefunden

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

  • User wird bei SQL-Abfrage nicht gefunden

    Hallo Leute,

    ich habe folgendes Problem. Über ein Login.php soll sich der User einloggen können. Das sieht folgendermaßen aus:

    if( $action == "login" )
    {
    $psemail = trim( $psemail );
    $pspass = trim( $pspass );
    if( $psemail == "" ) error( "Bitte E-Mail-Adresse eingeben" );
    if( $pspass == "" ) error( "Bitte Passwort eingeben" );

    dbConnect();
    $result = mysql_query( "SELECT psemail FROM ps_user WHERE psemail='$psemail' " ) or error( mysql_error() );
    if( mysql_num_rows($result) != 1 ) error( "Diese E-Mail-Adresse existiert nicht!" );
    $result = mysql_query( "SELECT psemail FROM ps_user WHERE psemail='$psemail' AND pspass LIKE BINARY '$pspass' " ) or error( mysql_error() );
    if( mysql_num_rows( $result ) != 1 ) error( "Ungültiges Passwort!" );
    else
    {
    session_register( "psemail" );
    session_register( "pspass" );
    setcookie( "psemail", $psemail, time()+3600*24*365 );
    if( isset( $cat ) ) header( "Location: ./list.php?cat=$cat" );
    if( $cat == "" ) header( "Location: ./account.php" );
    }
    }

    Datenbankverbindung ist richtig, die Tabelle ps_user gibt es auch sowie die Felder psemail, pspass usw. Und trotzdem bekomme ich immer die Fehlermeldung "Diese E-Mail-Adresse existiert nicht!".

    Der eingegebene Benutzer existiert aber. Ebenso seine E-Mail-Adresse. Wenn ich die MySQL-Abfrage direkt über phpMyAdmin starte, bekomme ich als Ergebnis des betreffenden User.

    Ich mache jetzt schon 3 tage damit rum und kann den Fehler nicht finden. Bitte lasst mich nicht blöd sterben. Brauche dringend Hilfe!

  • #2
    Und was ist, wenn mehrere Einträge existieren?

    if (mysql_num_rows($result)==0) error("Diese E-Mail-Adresse existiert nicht!");

    CAT Music Files

    Kommentar


    • #3
      Danke für den Tipp!

      Aber das Ding läuft zur Zeit im Entwicklungsbetrieb. Und da sind nur 2 User eingetragen. Mit unterschiedlichen Mails.

      Ich habe mir schon überlegt, ob es etwas mit der dem session_start oder dem Cookie zu tun hat.

      Oder ob keine Datenbankverbindung hergestellt werden kann. Kann aber nicht sein, da ich diesbezüglich keine Fehlermeldung erhalte.

      Kommentar


      • #4
        Ist $psemail überhaubt gesetzt?
        if(!isset($psemail)) error("Bitte E-Mail-Adresse eingeben");

        Füge einen Print() nach dem ersten SQL-Statemanet ein:

        $recfound = mysql_num_rows($result);
        print "psemail:$psemail recs:$recfound";

        Vielleicht ein kleiner Beitrag zur Erkenntnis.

        Kommentar

        Lädt...
        X