Hi Leutz, da bin ich mal wieder.
Mein Loginscript funzt schon super, sprich man kann sich Registrieren, einloggen und bekommt ein neues Passwort per E-Mail, wenn man sein altes vergessen hat.
Zum programmieren lasse ich einen kleinen Webserver lokal auf meinem Rechner laufen. Zum "Testen unter realen Bedingungen" hab ich das gesamte Script auf meinen Webspace geladen. (funpic.de) (Anfangs gab es schwierigkeiten, da der "echte" Webserver - im Gegensatz zu meinem Lokalen Webserver - case sensitive ist.
Daraus schließe ich, dass es sich höchstwahrscheinlich um einen Linux Server handelt.)
Mit mozilla habe ich dann alles fleißig getestet und es hat auch alles soweit funktioniert. Beim IE sah es leider etwas anders aus. Registrieren und Passwortreminder funktionieren tadellos, bloß der Login funktioniert nicht. Nach dem drücken des Submit-Buttons werden die Eingabefelder geleert und es tut sich nichts.
Wie ich es als C++ programmierer gewöhnt bin, beginne ich also mit der Fehlereingrenzung. Ich habe dabei festgestellt, dass das loginscript auf meinem Lokalen Webserver mit IE läuft, auf dem funpic Webserver allerdings nicht. Mit Mozilla funktioniert es lustigerweise sogar auf beiden Servern. Es muss also etwas mit dem Server zu tun haben.
Ich habe die Scripts direkt miteinander verglichen und habe den Fehler einfach nicht gefunden, vielleicht weiß da jemand von euch weiter!?
Hier der Quellcode vom Login script:
formular.php
login.php
Mein Loginscript funzt schon super, sprich man kann sich Registrieren, einloggen und bekommt ein neues Passwort per E-Mail, wenn man sein altes vergessen hat.
Zum programmieren lasse ich einen kleinen Webserver lokal auf meinem Rechner laufen. Zum "Testen unter realen Bedingungen" hab ich das gesamte Script auf meinen Webspace geladen. (funpic.de) (Anfangs gab es schwierigkeiten, da der "echte" Webserver - im Gegensatz zu meinem Lokalen Webserver - case sensitive ist.
Daraus schließe ich, dass es sich höchstwahrscheinlich um einen Linux Server handelt.)
Mit mozilla habe ich dann alles fleißig getestet und es hat auch alles soweit funktioniert. Beim IE sah es leider etwas anders aus. Registrieren und Passwortreminder funktionieren tadellos, bloß der Login funktioniert nicht. Nach dem drücken des Submit-Buttons werden die Eingabefelder geleert und es tut sich nichts.
Wie ich es als C++ programmierer gewöhnt bin, beginne ich also mit der Fehlereingrenzung. Ich habe dabei festgestellt, dass das loginscript auf meinem Lokalen Webserver mit IE läuft, auf dem funpic Webserver allerdings nicht. Mit Mozilla funktioniert es lustigerweise sogar auf beiden Servern. Es muss also etwas mit dem Server zu tun haben.
Ich habe die Scripts direkt miteinander verglichen und habe den Fehler einfach nicht gefunden, vielleicht weiß da jemand von euch weiter!?
Hier der Quellcode vom Login script:
formular.php
PHP-Code:
<?php session_start (); ?>
<html>
...
<body>
<u>Login</u><br><br>
<?php
if (isset ($_REQUEST["fehler"]))
{
echo "Die Zugangsdaten waren ungültig.";
}
?>
<form action="login.php" method="post">
Name: <input type="text" name="name" size="20"><br>
Kennwort: <input type="password" name="pwd" size="20"><br>
<input type="submit" value="Login">
</form>
...
</body>
</html>
PHP-Code:
<?php
include("config.php");
// Session starten
session_start ();
// Datenbankverbindung aufbauen
$connectionid = mysql_connect ($dbServer, $dbadmin, $dbpassword);
if (!mysql_select_db ($dbDatabase, $connectionid))
{
die ("Keine Verbindung zur Datenbank");
}
$sql = "SELECT ".
"Id, Nickname, email ".
"FROM ".
$dbTable.
" WHERE ".
"(Nickname like '".$_REQUEST["name"]."') AND ".
"(Kennwort = '".md5 ($_REQUEST["pwd"])."')";
$result = mysql_query ($sql);
if (mysql_num_rows ($result) > 0)
{
// Benutzerdaten in ein Array auslesen.
$data = mysql_fetch_array ($result);
// Sessionvariablen erstellen und registrieren
$_SESSION["user_id"] = $data["Id"];
$_SESSION["user_nickname"] = $data["Nickname"];
$_SESSION["user_email"] = $data["email"];
header ("Location: intern.php"); //Auf diese Seite soll man normalerweise weitergeleitet werden., wenn der Login erfolgreich war.
}
else
{
header ("Location: lformular.php?fehler=1");
}
include("links_tmpl.php")
?>
Kommentar