Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Login“

MasterT

Nicht mehr ganz neu hier

Hallo,
ich habe mit diesem Login Script ein Problem. Mir wird folgender Fehler angezeigt:
Notice: Trying to get property of non-object in E:\xampp\htdocs\ejs-kunde\login.php on line 29

Verstehe nicht den Fehler. Seht ihr ihn?Hier ist das Login Script:
PHP:
<?php
session_start();
?>
<html>
<head>
-
-
-
-
-
-
-
</head>
<body>
<div id="zentral">
  <img src="_img/pt.jpg">
    <div id="box">
          <?php
      include'mysql.php';
      
      if(isset($_GET['einlogen'])) {
        $kundennummer = $_POST["kundennummer"];
        $passwort = md5($_POST["password"]);
        
        $abfrage = "SELECT username, passwort FROM kunde WHERE username LIKE '$kundennummer' LIMIT 1";
        $ergebnis = mysql_query($abfrage);
        $row = mysql_fetch_object($ergebnis);
      
      if($row->password == $passwort){
        $_SESSION["kundennummer"] = $username;
        echo "Login erfolgreich. <br> <a href=\"geheim.php\">Geschützer Bereich</a>";
            }
        else
            {
            echo "Benutzername und/oder Passwort waren falsch. <a href=\"login.php\">Login</a>";
            }
        }
      ?>
      <form action="login.php?einlogen" method="post">
      Kundennummer:
      <input type="int" onChange="checkValue('kundennummer')" id="kundennummer" name="kundennummer">
      Passwort:
      <input id="feld" type="password" size="24" maxlength="50" name="password">
      <input id="pw" type="submit" value="Login">
</form></div>
</div>
 

Duddle

Posting-Frequenz: 14µHz

AW: Login

Du prüfst nicht, ob $row überhaupt ein Ergebnis ist. Im Fehlerfall / wenn keine Zeilen mehr verfügbar sind gibt mysql_fetch_object() FALSE zurück. FALSE ist kein Objekt, insbesondere keines mit einem Attribut password.


Duddle
 

Mereel

Aktives Mitglied

AW: Login

$row ist aus irgendeinem Grund kein Objekt. Denke mal die eingegebene Kundennummer existiert nicht in deiner Datenbank oder es ist ein anderer Fehler bei der Abfrage aufgetreten. Du kannst ja mal mysql_error aisgeben lassen und wie Duddle geschreiben hat, überprüfen, ob $row ein Objekt ist, andernfalls eine Fehlermeldung "Unbekannte Kundennummer" oder so ausgeben.

Außerdem solltest du auf die Sicherheit deines Skripts achten (Stichwort "SQL Injection")!

EDIT:
if (mysql_num_rows($row))
Du meinst wahrscheinlich
PHP:
if(mysql_num_rows($ergebnis))
$row ist ja das Objekt...
 
Zuletzt bearbeitet:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
175.158
Beiträge
2.581.880
Mitglieder
67.226
Neuestes Mitglied
Alec168
Oben