Loginscript meldet Fehler
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
beitrag
benutzername
database
datei
ergebnis
exit
falsch login
fehler
folgenden fehler
halbe stunde
limit
login
manual
not
objekt
pawort
resource
result
syntax
username
-
Huhu,
also mein gecodetes Loginscript meldet folgenden Fehler wenn man sich einloggen will:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\xampp\xampp\htdocs\tests\gallerie\login.php on line 32
Benutzername und/oder Passwort waren falsch. Login
line 32 ist folgendes:
$row = mysql_fetch_object($ergebnis);
Die Angaben davor geh?ren nat?rlich indirekt auch zu line 32.
Hier das Script:
<?php session_start(); ?> <?php if ($_GET['index']=="") { echo "<form action=\"login.php?index=now\" method=\"post\"> Dein Username:<br> <input type=\"text\" size=\"24\" maxlength=\"50\" name=\"username\"><br><br> Dein Passwort:<br> <input type=\"password\" size=\"24\" maxlength=\"50\" name=\"password\"><br> <input type=\"submit\" value=\"Login\"> </form>"; } ?> <?php if ($_GET['index']=="now") { include "sql.php"; $verbindung = mysql_connect($dbserver, $dbuser,$dbpassword) or die ("Keine Verbindung m?glich. Benutzername oder Passwort sind falsch"); $username = $_POST["username"]; $passwort = md5($_POST["password"]); $abfrage = "SELECT username, passwort FROM admin WHERE username LIKE '$username' LIMIT 1"; $ergebnis = mysql_query($abfrage); $row = mysql_fetch_object($ergebnis); if($row->passwort == $passwort) { $_SESSION["username"] = $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>"; } } ?>
Kann mir jemand bei dem Problem helfen?
Beitrag ge?ndert am 22.12.2005 23:38 von neo1000 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Irgendwie ist der SQL-Query schief gegangen, dann liefert mysql_query() kein "Fetch-Objekt" zur?ck. So kannst du das notd?rftig abfangen:
$abfrage = "SELECT username, passwort FROM admin WHERE username LIKE '$username' LIMIT 1";
$ergebnis = mysql_query($abfrage);
if($ergebnis === FALSE) {
print("Schei?e!!!");
exit();
}
$row = mysql_fetch_object($ergebnis);
MySQL bietet aber Fehlerfunktionen, die dir sagen k?nnen, wo der Fehler liegt:
http://de.php.net/manual/de/function.mysql-errno.php
http://de.php.net/manual/de/function.mysql-error.php
Wahrscheinlich ist dein Query-String fehlerhaft.
-
ahhh nein rofl lol, verdammt.
ich sehe gerade, das ich aus meiner anderen Datei zu wenig kopiert habe...
mysql_select_db($dbname) or die ("Die Datenbank existiert nicht.");
Das habe ich leider nicht mit markiert und somit war es nicht im Loginscript arrgg, das war mindestens eine halbe Stunde.... -
Ja, eine Datenbank sollte man schon ausw?hlen, bevor man einen SELECT drauf ansetzt.
Ich hatte auch keinen Syntax-Fehler in deinem SELECT erkennen k?nnen. -
Ja, eine Datenbank sollte man schon ausw?hlen, bevor man einen SELECT drauf ansetzt.
Ich hatte auch keinen Syntax-Fehler in deinem SELECT erkennen k?nnen.
Ich poste meine Fehler immer parallel in 2 Foren und die Leute aus dem anderen Forum haben mir paar Tipps geben, so bis ich letztendlich die Meldung "No database selected" bekam.
Naja und dann habe ich gesehen, das dort ein Teil fehlt.
Das habe ich mal wieder eine halbe Stunde in den Sand gesetzt. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage