tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
272
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Kracky Kracky ist offline Mitglied Bronze
    Registriert seit
    Jan 2012
    Beiträge
    26
    Hallo Leute,

    ich habe mich jetzt dran gesetzt endlich mal PHP zu lernen und habe mir schon ein kleines Login Script mit mySQL geschrieben.

    das Script arbeitet auch einwandfrei und trozdem kriege ich immer eine Fehlermeldung (trotz funktion) wenn jemand einen falschen Benutzernamen/Passwort eingibt.

    Notice: Trying to get property of non-object in F:\xampp\htdocs\logon.php on line 20
    PHP-Code:
    <?php
    session_start
    ();

    include(
    "mysql.php");
    include(
    "navigation.php");

    $user $_POST['user'];
    $pass md5($_POST['pass']);

    if(
    $user == "" OR $pass == "")
        {
        echo 
    "<center>Bitte alle Felder ausfüllen!<br><a href=login.php>Zurück</a></center>";
        exit;
        }

    $abfrage "SELECT user, pass FROM register WHERE user LIKE '$user' LIMIT 1";
    $ergebnis mysql_query($abfrage);
    $row mysql_fetch_object($ergebnis);

    if(
    $row->pass == $pass)
        {
        
    $_SESSION["user"] = $user;
        echo 
    "<center>Login erfolgreich. Willkommen zurück, $row->user </center>";
        }
    else
        {
        echo 
    "<center>Login fehlgeschlagen. Bitte überprüfe deinen Benutzernamen oder das Passwort.</center>";
        }
    ?>
    So sieht mein Code aus.

    Kann mir jemand sagen wieso ich dauernd diese Fehlermeldung kriege und wie ich sie beseitige?
     

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Zeile 20
    PHP-Code:
    if($row->pass == $pass
    Wenn der User in der DB nicht existiert, dann gibt mysql_fetch_object() kein Objekt zurück. In dem Fall versucht PHP in Zeile 20 auf ein Property eines Objektes, das eben kein Objekt ist, zuzugreifen.
    Es ist in dem Fall nicht weiter tragisch und dein Script läuft richtig. Darum ist es auch 'nur' eine Notiz.
    Du könntest mit is_object() zuerst prüfen ob $row auch ein Projekt ist.

    Nachtrag:
    Du kannst auch mit error_reporting() die Notizen ausblenden - ist aber auch nicht ganz sauber
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  3. #3
    Kracky Kracky ist offline Mitglied Bronze
    Registriert seit
    Jan 2012
    Beiträge
    26
    Danke das funktioniert soweit
     

Ähnliche Themen

  1. Antworten: 8
    Letzter Beitrag: 14.12.09, 15:43
  2. Antworten: 5
    Letzter Beitrag: 28.08.07, 20:03
  3. Session Login-Script Fehlermeldung !
    Von D-LuX im Forum PHP
    Antworten: 23
    Letzter Beitrag: 24.08.07, 18:46
  4. Antworten: 3
    Letzter Beitrag: 12.01.05, 21:14
  5. window.open - [object] Fehlermeldung
    Von skav im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 10.10.03, 14:06