Hallo,
folgendes kleines Problem, ja ich fange erst mit php an.
Sitze grad am Sessionmanagement, welches ich über cookies realisiere.
Das Problem besteht hierbei darin, dass wenn ich den Browser schließe und ich mich neu anmelde mir eine neue Session_Id gegeben wird. Wenn ich mich allerdings nur auslogge und wieder einlogge und den Browser nicht schliesse, auch mit einem anderen User, bekomme ich keine neue Session_ID, sondern die alte.
Das Cookie an sich löscht er allerdings, die logout.php scheint also zu funktionieren.
Was kann ich da tun?
Das Formularfeld:
Hier wird ein Cookie gesetzt und eine session_id als wert eingetragen. und dann weitergeleitet wenn der user in der DB gefunden wird.
Hier hin wird man weitergeleitet wenn der Nutzer in der DB gefunden wurde.
Vielen Dank schonmal für die Hilfe.
folgendes kleines Problem, ja ich fange erst mit php an.
Sitze grad am Sessionmanagement, welches ich über cookies realisiere.
Das Problem besteht hierbei darin, dass wenn ich den Browser schließe und ich mich neu anmelde mir eine neue Session_Id gegeben wird. Wenn ich mich allerdings nur auslogge und wieder einlogge und den Browser nicht schliesse, auch mit einem anderen User, bekomme ich keine neue Session_ID, sondern die alte.
Das Cookie an sich löscht er allerdings, die logout.php scheint also zu funktionieren.
Was kann ich da tun?
Das Formularfeld:
PHP-Code:
<?php session_start (); ?>
<html>
<head>
<title>Login</title>
</head>
<body>
<?php
if (isset ($_REQUEST["fehler"]))
{
echo "Die Zugangsdaten waren falsch.";
}
?>
<form action="login_cookie.php" method="post">
Name: <input type="text" name="name" size="20"><br>
Kennwort: <input type="password" name="pwd" size="20"><br>
<input type="submit" value="Login">
</form>
</body>
</html>
PHP-Code:
<?
session_start();
// Datenbankverbindung aufbauen
$connectionid = mysql_connect ("localhost", "***", "***");
if (!mysql_select_db ("***", $connectionid))
{
die ("Keine Verbindung zur Datenbank");
}
$sql = "SELECT ".
"username, valid ".
"FROM ".
"user ".
"WHERE ".
"(username like '".$_REQUEST["name"]."') AND ".
"(password = '".$_REQUEST["pwd"]."')";
$result = mysql_query($sql);
if (mysql_num_rows ($result) == 1)
{
$cookiename = "MyTest";
$cookiewert = session_id();
setcookie($cookiename,$cookiewert);
header ("Location: intern_cookie.php");
}
else
{
("Location: Formular.php?fehler=1");
}
?>
PHP-Code:
<?
session_id();
session_start();
<html>
<head>
<title>Interne Seite</title>
</head>
<body>
INTERNER BEREICH
<p>
<?
echo $_COOKIE["MyTest"];
?>
<hr>
<a href="logout.php">Ausloggen</a>
</body>
</html>
PHP-Code:
<?php
ob_start ();
setCookie("MyTest","",-3600);
session_start ();
session_unset ();
session_destroy ();
header ("Location: formular.php");
ob_end_flush ();
?>
Kommentar