Session gehen verloren
Martina
- php
Guten Morgen liebe User,
seit Tagen versuche ich eine Lösung zu finden, aber ich komme einfach nicht weiter. Bitte deshalb um eure Hilfe.
Ich nutze das Session Login-System auf der Basis von
http://aktuell.de.selfhtml.org/artikel/php/loginsystem/
mit dem einzigen Unterschied, dass ich noch die Template Engine vlib verwenden. Am Anfang jeder Seite habe ich folgendes eingebaut:
<?php session_start();
// Zugangsdaten Server, Definitionen,....
include('../inc/config_admin.php');
include('../inc/functions.php');
$inactive = 600;
//Timeout schonmal gesetzt?
if(isset($_SESSION['timeout']) )
{
$session_life = time() - $_SESSION['timeout'];
if($session_life > $inactive)
{
session_destroy();
$meldung = "Session abgelaufen!";
$tmpl = new vlibTemplate('tmpl/admin_login_tmpl.html');
$tmpl->setvar('meldung', $meldung);
$tmpl->pparse();
exit;
}
}
$_SESSION['timeout'] = time();
// keine Adminrechte
if (!isset($_SESSION['admin']) || !$_SESSION['admin'])
{
$meldung = "Nicht eingeloggt oder keine ausreichenden Rechte für den Administrationsbereich.";
$tmpl = new vlibTemplate('tmpl/admin_login_tmpl.html');
$tmpl->setvar('meldung', $meldung);
$tmpl->pparse();
exit;
}
Beim Login werden die Daten in der Session gespeichert:
$_SESSION['logged_in'] = true;
$_SESSION['user_id'] = "$id";
$_SESSION['admin'] = true;
Das funktioniert von meinem PC (und vielen anderen) wunderbar. Zwei User bekommen aber nach einigen Klicks die Meldung, sie seien nicht eingeloggt. Anscheinend immer, wenn sie Bearbeitungen an der Datenbank über Formulare abgeschlossen haben. Dabei werden an einer Stelle über URL Get-Daten übergeben, an der anderen Stelle Formulardaten per Post. Ich kann das bei mir einfach nicht nachvollziehen und komme hier einfach nicht weiter.
Hat mir jemand einen Tip?
Vielen Dank,
LG Martina
Hello,
Das funktioniert von meinem PC (und vielen anderen) wunderbar. Zwei User bekommen aber nach einigen Klicks die Meldung, sie seien nicht eingeloggt.
Hast Du zum Testen Zugriff auf die Clients dieser User oder kannst sie zumindest bitten, den Fehler zu protokollieren?
Du solltest wissen, welche Browser sie verwenden, welchen Internetzugang sie bentutzen (über Proxy?) und ob sie in der Lage sind die HTTP-Header mitzuschneiden.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
User haben vielleicht Cookies deaktiviert und das mitreichen der SESSID über url scheiter bei diesen Anfrage??? Ist nur gestocher im Dunkeln, solltest lieber die Klienten besuchen :)
Cheers,
Baba