Hi,
ich habe einen Login in PHP geschrieben, der die Userdaten und Passwörter aus einer MySQL-Datenbank herausliest.
Aber irgendwie funktioniert es nicht so wie es soll.
Die Userdaten werden nicht korrekt ausgelesen, momentan wird gemeldet, dass der Username nicht existiert, egal ob er in PHPMyAdmin eingetragen wurde oder nicht.
Die Datenbank setzt sich so zusammen:
datenbank---Tabelle message ---Spalten id,date,nick,message
---Tabelle user---Spalten nick,pass,online
(Reihenfolge wie hier angegeben).
Der Quellcode meiner login.php (mit POST wurde $_POST['nick'] und $_POST['pass'] übermittelt)
-----------------------------------------------------------------
Fehlermeldung:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /......./login.php on line 11
Unknown column '' in 'where clause'
Wo liegt mein Fehler?
ich habe einen Login in PHP geschrieben, der die Userdaten und Passwörter aus einer MySQL-Datenbank herausliest.
Aber irgendwie funktioniert es nicht so wie es soll.
Die Userdaten werden nicht korrekt ausgelesen, momentan wird gemeldet, dass der Username nicht existiert, egal ob er in PHPMyAdmin eingetragen wurde oder nicht.
Die Datenbank setzt sich so zusammen:
datenbank---Tabelle message ---Spalten id,date,nick,message
---Tabelle user---Spalten nick,pass,online
(Reihenfolge wie hier angegeben).
Der Quellcode meiner login.php (mit POST wurde $_POST['nick'] und $_POST['pass'] übermittelt)
-----------------------------------------------------------------
PHP-Code:
<?php
$db_user=mysql_connect("localhost","username","passwort") or die ("Verbindung zu Mysql gescheitert!");
mysql_select_db("datenbank",$db_user) or die ("Datenbankzugriff gescheitert!");//Verbindung zur Tabelle User
$nick=$_POST['nick']; //Eingegebener Nickname wird abgefangen
$pass=$_POST['pass']; //Eingegebenes pass wird abgefangen
if ($nick=="Gast" || $nick=""){ //Wenn kein Name/Gast eingegeben wurde
$nick="Gast";
$pass="";
} //Kein Name/Gast ENDE
//Hier die Problemzeile:
$row=mysql_fetch_object(mysql_query("SELECT * FROM `user` WHERE `nick`=`".$nick."`")) or die (mysql_error());
$pass_sql=$row->pass;
if ($pass_sql==$pass) { //Wenn pass richtig, dann Kekse setzen
setcookie( "nick", $nick);
setcookie( "pass", $pass);
//und Ausgabe der html-datei
echo <<<AUSGABE1
<html>
<head>
<meta name="author" content="Florian Klink">
<link href="/css/sv.css" rel="stylesheet" type="text/css">
<link href="/scripts/navi/navi.css" rel="stylesheet" type="text/css">
<title>diesv.de:: Chat</title></head>
<body>
<script type="text/javascript">
document.location="chat.php";
alert ('Anmeldung erfolgreich! \\nDu wirst weitergeleitet.');
</script>
</body>
</html>
AUSGABE1;
}
else{ //Wenn pass falsch, dann Ausgabe pass Falsch und zurückleitung auf die login-seite
echo <<<AUSGABE2
<html>
<head>
<meta name="author" content="Florian Klink">
<link href="/css/sv.css" rel="stylesheet" type="text/css">
<link href="/scripts/navi/navi.css" rel="stylesheet" type="text/css">
<title>diesv.de:: Chat</title></head>
<body>
<script type="text/javascript">
alert ('Passwort oder Nick falsch.\\nBitte gebe die Daten erneut ein.');
document.location="index.php";
</script>
</body>
</html>
AUSGABE2;
}
?>
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /......./login.php on line 11
Unknown column '' in 'where clause'
Wo liegt mein Fehler?
Kommentar