Hallo alle miteinander, ich habe ein Problem mit dem Login Script von phpres.
Die Session wird nicht in die db geschrieben und der login scheint allgemein nicht zu funktionieren.
Ich Versuche es nicht in einzelne Dateien zu packen sondern alles
zu includen. Irgendetwas stimmt jedoch nicht, kann sein das ich
etwas bei der abänderung übersehen habe
Meine Userdatenbank sieht folgendermaßen aus:
user_id | user_name | user_pass | user_session | user_mail
Die Werte der Tabelle stimmen, das hab ich überprüft.
So nun zum PHP.
Im head-include ist folgendes untergebracht.
Die sql datei mit connect daten und funktionen. Die nutz ich schon länger und die dürfte eigentlich bug-frei sein.
Danach wird folgendes includet:
mit diesem Inhalt
Und Im userMenü siehts so aus.
Zu guter letzt noch die includierte sessionhelpers datei. Hier vermute ich den Fehler, seh ihn aber nicht, hab nicht sehr viel geändert.
Die Session wird nicht in die db geschrieben und der login scheint allgemein nicht zu funktionieren.
Ich Versuche es nicht in einzelne Dateien zu packen sondern alles
zu includen. Irgendetwas stimmt jedoch nicht, kann sein das ich
etwas bei der abänderung übersehen habe
Meine Userdatenbank sieht folgendermaßen aus:
user_id | user_name | user_pass | user_session | user_mail
Die Werte der Tabelle stimmen, das hab ich überprüft.
So nun zum PHP.
Im head-include ist folgendes untergebracht.
Die sql datei mit connect daten und funktionen. Die nutz ich schon länger und die dürfte eigentlich bug-frei sein.
Danach wird folgendes includet:
PHP-Code:
include 'module/login/login_code.mod.php';
PHP-Code:
<?
include 'module/login/sessionhelpers.mod.php';
if (isset($_POST['login'])) {
$userid=check_user($_POST['username'], $_POST['userpass']);
if ($userid!=false) {
login($userid);
}
else {
echo 'Ihre Anmeldedaten waren nicht korrekt!';
}
}
if (isset($_POST['logout'])) {
logout();
}
?>
PHP-Code:
<?
//Formular ausgabe
if (!logged_in()) {
echo '<form method="post" action="index.php?page=usercenter">
<label>Benutzername:</label><input name="username" type="text"><br>
<label>Passwort: </label><input name="userpass" type="password" id="userpass"><br>
<input name="login" type="submit" id="login" value="Einloggen">
</form>';
}
else {
echo '<form method="post" action="index.php">
<input name="logout" type="submit" id="logout" value="Ausloggen">
</form>';
}
?>
PHP-Code:
<?
function check_user($username, $userpass)
{
$sql="SELECT user_id FROM users WHERE user_name='".$username."' AND user_pass=MD5('".$userpass."') LIMIT 1";
$result= mysql_query($sql) or die(mysql_error());
if ( mysql_num_rows($result)==1)
{
$user=mysql_fetch_assoc($result);
return $user['user_id'];
}
else
return false;
}
function login($userid)
{
$sql="UPDATE users SET user_session='".session_id()."',user_status='1' WHERE user_id=".$userid;
mysql_query($sql);
}
function logged_in()
{
$sql="SELECT user_id FROM users WHERE user_session='".session_id()."' LIMIT 1";
$result= mysql_query($sql);
return ( mysql_num_rows($result)==1);
}
function logout()
{
$sql="UPDATE users SET user_session=NULL, user_status='0' WHERE user_session='".session_id()."'";
mysql_query($sql);
}
?>
Vielleicht indet ja jemand den fehler, es muss irgendwas total
banales sein, ich hatte dieses script schonmal fast identisch wie
grade gepostet am laufen.
Kommentar