Nabend
Also ich brüte schon den ganzen Tag, kann das Problem aber nicht lösen :/ Die Website an der dich momentan bastel, hat einen Memberbereich, in dem der User eine Auto-Login Funktion aktivieren kann. Der User setzt also sein Häckchen bei "Auto-Login" und das Script setzt nach dem absenden des Formulars ein Cookie...
Das klappt auch alles einwandfrei.
Wenn der User seinen Browser schließt und wieder die Startseite aufruft, soll er automatisch eingeloggt werden und genau das haut nicht hin. Die Seite ist imo so aufgebaut, das ich eine index.php Datei habe, in der die verschiedenen Bereiche eingebunden werden. Hier die index.php
Den User Login Bereich include ich auch so und dort wird zb. auch gleich geprüft ob $_SESSION['authusr'] true ist usw. Wenn ich jetzt einfach mal in meiner index.php
mache, bekomm ich beim ersten Aufrufen überhaupt gar keine Ausgabe Klick ich mich danach aber in einen anderen Bereich, zb. index.php?einesession=872378327823&area=register gibt
die korrekten Werte aus.
Leider check ich überhaupt nicht warum das so ist Der Cookie sollte doch schliesslich schon beim ersten Aufrufen der Seite zur Verfügung stehen oder nicht??
Also ich brüte schon den ganzen Tag, kann das Problem aber nicht lösen :/ Die Website an der dich momentan bastel, hat einen Memberbereich, in dem der User eine Auto-Login Funktion aktivieren kann. Der User setzt also sein Häckchen bei "Auto-Login" und das Script setzt nach dem absenden des Formulars ein Cookie...
PHP-Code:
setcookie('einkeks', $_SESSION['usrid'].'|'.$_SESSION['usrmd5'], time()+(60*60*24*30*4*12), '/', 'testserver.de', 0);
Wenn der User seinen Browser schließt und wieder die Startseite aufruft, soll er automatisch eingeloggt werden und genau das haut nicht hin. Die Seite ist imo so aufgebaut, das ich eine index.php Datei habe, in der die verschiedenen Bereiche eingebunden werden. Hier die index.php
PHP-Code:
<?php
session_name('einesession');
session_start();
require_once('shared/global.php');
$_SESSION['authusr'] = false;
// Cookie checken
if (isset($_COOKIE['einkeks']) && !$_SESSION['authusr'])
{
// mysql verbindung herstellen
$data = explode('|', $_COOKIE['einkeks']);
if (!db_is_user_cookie($data[0], $data[1])) trigger_error('Ungültige Benutzer ID.', E_USER_ERROR);
else
{
$_SESSION['usrid'] = $data[0];
$_SESSION['authusr'] = true;
}
// mysql verbindung schliessen
// db_is_user_cookie() prüft anhand der ID und dem MD5 pwd ob der user existiert
// und gibt true oder false zurück
}
// Session prüfen
if ($_GET['einesession'] != session_id() || !session_id())
header('Location: index.php?' . session_name() . '=' . session_id() . '&area=news');
?>
// jede Menge HTML - Dann kommt irgendwann...
<?php include_once($_GET['area'] . '.php') ?>
// und wieder HTML
PHP-Code:
print_r($_COOKIE['einkeks']);
PHP-Code:
print_r($_COOKIE['einkeks']);
Leider check ich überhaupt nicht warum das so ist Der Cookie sollte doch schliesslich schon beim ersten Aufrufen der Seite zur Verfügung stehen oder nicht??
Kommentar