Hi zusammen!
Habe mich mal versucht ein wenig in Sessions einzuarbeiten. Habe mir dazu ein Tutorial durchgelesen und erstmal alles genauso gemacht, wie’s da beschrieben wird. Jedoch ist das bei mir leider so, dass die Session nach ca. 10 Minuten (manchmal auch ein paar Minuten eher oder auch später) sich von alleine beendet. Also auch ohne „Logout“.
An den Server-Einstellungen liegt es nicht, denn da ist die Lifetime auf 3600 gestellt. Hat da vll jemand eine Idee?
Hier mal die verschiedenen Codes:
formular.php
<?php session_start (); ?>Login<?php if (isset ($_REQUEST["fehler"])){
echo „Die Zugangsdaten waren ungültig.“;
}
?>
Name:
Kennwort:
_______
login.php
<?php // Session startensession\_start (); // Datenbankverbindung aufbauen $connectionid = mysql\_connect ("localhost", "schildi48", "\*"); if (!mysql\_select\_db ("schildi48", $connectionid)) { die ("Keine Verbindung zur Datenbank"); } $sql = "SELECT ". "Id, Nickname, Nachname, Vorname ". "FROM ". "benutzerdaten1 ". "WHERE ". "(Nickname like '".$\_REQUEST["name"]."') AND ". "(Kennwort = '".$\_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\_nachname"] = $data["Nachname"]; $\_SESSION["user\_vorname"] = $data["Vorname"]; header ("Location: intern.php"); } else { header ("Location: formular.php?fehler=1"); } ?\> \_\_\_\_\_\_\_ intern.php <?php include ("checkuser.php");
?\>Interne Seite BenutzerId: <?php echo $_SESSION["user_id"]; ?>
Nickname: <?php echo $_SESSION["user_nickname"]; ?>
Nachname: <?php echo $_SESSION["user_nachname"]; ?>
Vorname: <?php echo $_SESSION["user_vorname"]; ?>Ausloggen
_______
checkuser.php
<?php session_start ();if (!isset ($\_SESSION["user\_id"])) { header ("Location: formular.php"); } ?\> \_\_\_\_\_\_\_ logout.php <?php // Wird ausgeführt um mit der Ausgabe des Headers zu warten.
ob\_start (); session\_start (); session\_unset (); session\_destroy (); header ("Location: formular.php"); ob\_end\_flush (); ?\> ------------------------------- Wäre super nett, wenn sich das mal jemand etwas näher ansehen könnte, ob das alles richtig ist. Bzw könntet ihr das ja auch evtl selbst bei euch ausprobieren. Link ist [http://schildi48.sc.funpic.de/sessiontest/original/f...](http://schildi48.sc.funpic.de/sessiontest/original/formular.php) Man kann sich mit dem Namen Testaccount und dem Passwort test einloggen. Danke!!! MfG, Schildi