Benutzerlogin
Jessica
- php
0 Julian Hofmann0 Jessica
0 ulimativ0 Julian Hofmann0 ulimativ
Hallo ! Ich habe da ein kleines Problem bei meinem Benutzerlogin. Ich bekomme immer nur meine gewünschte Fehlermeldung ..echo"<p align='center'>Ihre Anmeldung war leider erfolglos. Bitte überprüfen Sie Ihre Zugangsdaten.</p><br>";.., wenn der Kunde sich falsch eingetragen hat. Mit der Weiterleitung hapert es aber. Weiss vielleicht jemand warum ?!
Hier mein Skript :
<?php
....
// SQL-Abfrage
$abfrage = "Select vorname,nachname,strasse,ort,email,username,passwort,anrede from benutzer where username='".$usrname."'";
// Abfrage durchfuehren
$Query_Result = mysql_query($abfrage) or die ("<font face='Verdana' size='1'>Fehler in der Abfrage.</font> Fehlercode:
".msql_erno().": ".msql_error());
$Anzahl_Zeilen = mysql_affected_rows();
// Abfrage Kundendaten
list($vorname,$nachname,$strasse,$ort,$email,$username,$passwort,$anrede) = mysql_fetch_row($Query_Result);
if ($Anzahl_Zeilen == 0)
{
echo"<span class='d'>";
echo"<p align='center'><img border='0' src='../../images/pfeil.gif'></p>";
echo"<p align='center'>Ihre Anmeldung war leider erfolglos. Bitte überprüfen Sie Ihre Zugangsdaten.</p><br>";
echo"<p align='center'><img border='0' src='../../images/pfeil.gif'></p>";
echo"</span>";
} elseif (($passwort == $pwd) and ($username!="") and ($Anzahl_Zeilen > 0)) {
header("location: kunde.php3");
} elseif (($username=="Gast") or ($username=="gast")) {
header("location: gast.php3");
}
?>
Danke schon mal im voraus.
Hallo,
// SQL-Abfrage
$abfrage = "Select vorname,nachname,strasse,ort,email,username,passwort,anrede from benutzer where username='".$usrname."'";
^^^
Ist das evtl. ein "username"?
Grüße aus Würzburg
Julian
Hallo,
// SQL-Abfrage
$abfrage = "Select vorname,nachname,strasse,ort,email,username,passwort,anrede from benutzer where username='".$usrname."'";
^^^
Ist das evtl. ein "username"?
Grüße aus Würzburg
Julian
ja, der Kunde soll sich über einen Benutzernamen ($usrname) und passwort ($passwort) einloggen. Stimmt der Eintrag nicht mit der SQL-Datenbank überein, wird eine Fehlermeldung ausgegeben ansonsten entsprechend weitergeleitet.
Gruss
Jessica
Hi
// SQL-Abfrage
$abfrage = "Select vorname,nachname,strasse,ort,email,username,passwort,anrede from benutzer where username='".$usrname."'";
Das kann man auch so schreiben...
vorname,nachname,strasse,ort,email,username,passwort,anrede from benutzer where username='$usrname'";
Sollte aber nicht der Fehler sein...
// Abfrage durchfuehren
$Query_Result = mysql_query($abfrage) or die ("<font face='Verdana' size='1'>Fehler in der Abfrage.</font> Fehlercode:
".msql_erno().": ".msql_error());
$Anzahl_Zeilen = mysql_affected_rows();
// Abfrage Kundendaten
list($vorname,$nachname,$strasse,$ort,$email,$username,$passwort,$anrede) = mysql_fetch_row($Query_Result);
Bist du sicher das die reihenfolge des Arrays so stimmt.
Ich würde lieber das resultat in ein Array schreiben lassen und dann die einzelnen werte so abfragen
$resultat=mysql_fetch_array()
if($resultat['passwort']==$pwd) ....
probiers mal so
wenn nicht würde ich eine vernünftige Fehleranalyse durchführen. Lass dir doch mit echo oder var_dump() die variablen die du übrprüfst vorher ausgeben...
Uli
Hallo Jessica,
hab jetzt (glaub ich) den Fehler:
$Anzahl_Zeilen = mysql_affected_rows();
" Diese Funktion arbeitet nicht in Verbindung mit SELECT-Anfragen, sondern nur bei Anweisungen, die Datensätze verändern." (http://www.php3.de/manual/de/function.mysql-affected-rows.php)
Grüße aus Würzburg
Julian
» »» $Anzahl_Zeilen = mysql_affected_rows();
stimmt auch wieder...
$Anzahl_Zeilen = mysql_num_rows($result);
sollte es sein...
Uli