cille
Erfahrenes Mitglied
Hi ho,
bin gerade dabei mein Login mit COOKIE's zu erweitern,
habe auch alles soweit gemacht, aber irgendwie funktioniert dies nicht.
Ich habe 2 Datein, die erste Datei fürs Login Formular und zum überprüfen ob COOKIE da oder nicht und die zweite Datei fürs Einloggen also zum verarbeiten der Daten.
Er logt sich zwar ein, aber die COOKIE's Funktionieren leider nicht.
Daher bitte ich euch um Hilfe,
hier mal mein Code:
1. Datei (Login Formular):
2. Datei (Daten verarbeiten):
Hoffe Ihr findet vielleicht ein Fehler.
Danke schon mal für eure Bemühungen.
Mit freundlichen Grüßen,
cille
bin gerade dabei mein Login mit COOKIE's zu erweitern,
habe auch alles soweit gemacht, aber irgendwie funktioniert dies nicht.
Ich habe 2 Datein, die erste Datei fürs Login Formular und zum überprüfen ob COOKIE da oder nicht und die zweite Datei fürs Einloggen also zum verarbeiten der Daten.
Er logt sich zwar ein, aber die COOKIE's Funktionieren leider nicht.
Daher bitte ich euch um Hilfe,
hier mal mein Code:
1. Datei (Login Formular):
PHP:
<div id="login">
<table cellpadding="0" cellspacing="6" border="0">
<tr>
<td>
<?php
if(!isset($_COOKIE["LogIn_Username"]) && !isset($_COOKIE["LogIn_Password"])) {
if(!isset($_SESSION["user_id"])) {
?>
<table cellpadding="0" cellpadding="5" border="0">
<tr>
<td>
<form action="system/login.php" method="post">
Username: <input type="text" name="username" size="10">
Password: <input type="password" name="password" size="10">
<input name="submit" type="submit" value="Login">
<input type="checkbox" name="autologin" /> Auto Login
<a href="index.php?main=registrieren" value="Hier können Sie sich Registrieren.">Registrieren!</a> -
<a href="index.php?main=newpass" value="Hier klicken um ein Neues Passwort anzufordern.">Password vergessen</a>
</form>
</td>
</tr>
</table>
<?php
}
else {
if($_SESSION["user_right"] >= 1) {
?>
<table cellpadding="0" cellspacing="5" border="0">
<tr>
<td>
<a href="index.php?main=profil-logged" value="Hier gelangen Sie zur Login Übersicht">Übersicht</a> |
<a href="index.php?main=profil-edit&id=<?php echo $_SESSION["user_id"]; ?>" value="Ihr Profil bearbeiten">Profil bearbeiten</a> |
<a href="index.php?main=password-edit&id=<?php echo $_SESSION["user_id"]; ?>" value="Ihr Password ändern">Password ändern</a>
<?php
}
if($_SESSION["user_right"] >= 2) {
?>
| <a href="index.php?main=mitglied" value="Zum Mitgliederbereich">Mitglied</a>
<?php
}
if($_SESSION["user_right"] == 6) {
?>
| <a href="index.php?main=admin" value="Zum Adminbereich">Admin</a>
<?php
}
?>
<a href="system/logout.php" value="Logout">Logout</a>
</td>
</tr>
</table>
<?php
}
} else {
header ("Location: system/login.php");
}
?>
</td>
</tr>
</table>
</div>
2. Datei (Daten verarbeiten):
PHP:
<?php
ob_start();
// Datenbankverbindung aufbauen
include("../config.php");
$autologin = $_REQUEST["autologin"];
if(isset($_COOKIE["LogIn_Username"]) && isset($_COOKIE["LogIn_Password"])) {
$name = $_COOKIE["LogIn_Username"];
$pw = $_COOKIE["LogIn_Password"];
$autologin = "on";
} else {
$name = $_REQUEST["username"];
$pw = $_REQUEST["password"];
if(isset($_REQUEST["autologin"]) && $_REQUEST["autologin"] == 'on') {
$autologin = 'on';
} else {
$autologin = 'off';
}
}
$sql_login = "SELECT * FROM users WHERE nick='".mysql_real_escape_string($name)."'";
$sql_login_result = mysql_query($sql_login);
if(mysql_num_rows($sql_login_result) > 0) {
// Benutzerdaten in ein Array auslesen.
$login_data = mysql_fetch_array($sql_login_result);
if($login_data["password"] == md5($pw)) {
session_start();
// Sessionvariablen erstellen und registrieren
$_SESSION["user_id"] = $login_data["id"];
$_SESSION["user_username"] = $login_data["nick"];
$_SESSION["user_right"] = $login_data["rechte"];
if($autologin == 'on') {
$time = time() + (60*60*24*365*2);
setcookie('LogIn_Username',$_SESSION["user_username"],$time);
setcookie('LogIn_id',$_SESSION["user_id"],$time);
setcookie('LogIn_right',$_SESSION["user_right"],$time);
setcookie('LogIn_Password',$password,$time);
}
$login_datum = date("d.m.Y")." um ".date("H:i")." Uhr";
$login_timestamp = "UPDATE users SET lastlogin='".$login_datum."' WHERE nick='".mysql_real_escape_string($_REQUEST["username"])."'";
mysql_query($login_timestamp);
header ("Location: ../index.php?main=profil-logged");
}
else {
header ("Location: ../index.php?main=fehler&id=1");
}
}
else {
header ("Location: ../index.php?main=fehler&id=999");
}
ob_end_flush();
?>
Hoffe Ihr findet vielleicht ein Fehler.
Danke schon mal für eure Bemühungen.
Mit freundlichen Grüßen,
cille