Hallo,
ich bin gerade an den SESSIONS am verzweifeln
(aktueller Stand: siehe weiter unten.)
Ich habe eine Startseite mit einem integrierten Formular:
Dieses wird an folgende Datei "gesendet":
Hier wird dann die Session gestartet und die Session-Variablen gesetzt. Anschließend wird die login.php Seite aufgerufen.
Auf dieser Seite gibt es dann einen Link für den Logout:
Den Logout habe ich wie folgt realisiert:
Leider funktioniert das so leider alles nicht "richtig":
1.) Wenn man nach dem Login die login.php (Durch URL-Manipulation) aufruft, dann stehen da noch die alten Session-Variablen drin?!?
2.) Wenn man sich erneut (mit den gleichen Daten) einloggt, dann werden die Session-Variablen nicht gesetzt?!? Wenn man sich dann nochmal auslogt und dann nochmal einloggt, dann funktioniert es wieder.
(<-- habe gerade noch mehr getestet: leider reagiert das System immer anders???!!!)
___
steht in jeder Datei ganz oben!
Habt ihr da eine Idee?
ich bin gerade an den SESSIONS am verzweifeln
(aktueller Stand: siehe weiter unten.)
Ich habe eine Startseite mit einem integrierten Formular:
PHP-Code:
<form action="./login/check_login.php" method="post">
<table border=0>
<tr>
<td>User:</td>
<td><input type="text" name="user"></td>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" name="pass"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="senden" value="Login"></td>
</tr>
</table>
</form>
PHP-Code:
<?php
session_start ();
require("./../includes/db.inc.php");
$benutzer = $_POST[user];
$password = $_POST[pass]; //unverschlueselt
$password1 = MD5($_POST[pass]); //verschluesselt
$adr = get_Login_Data($benutzer);
if(!empty($password) AND (($password == $adr['password']) OR ($password1 == $adr['password'])) AND ($adr['status']) == 'enable')
{
if(!isset($_SESSION["loginname"]))
{
$_SESSION["loginname"] = $benutzer;
$_SESSION["adminrights"] = $adr['adminrights'];
}
Header("Location: https://***/login.php");
exit();
}
else{
echo "Bad Login/Password Combination OR acount is disabled!!!";
}
mysql_close($connection);
?>
Auf dieser Seite gibt es dann einen Link für den Logout:
PHP-Code:
<?php echo $_SESSION["loginname"] ?> <a href="./login/logout.php"> Ausloggen</a>
PHP-Code:
<?php
// Wird ausgeführt um mit der Ausgabe des Headers zu warten.
ob_start ();
session_start ();
session_unset ();
session_destroy ();
header ("Location: ./../start.php");
ob_end_flush ();
?>
1.) Wenn man nach dem Login die login.php (Durch URL-Manipulation) aufruft, dann stehen da noch die alten Session-Variablen drin?!?
2.) Wenn man sich erneut (mit den gleichen Daten) einloggt, dann werden die Session-Variablen nicht gesetzt?!? Wenn man sich dann nochmal auslogt und dann nochmal einloggt, dann funktioniert es wieder.
(<-- habe gerade noch mehr getestet: leider reagiert das System immer anders???!!!)
___
PHP-Code:
<?php session_start (); ?>
Habt ihr da eine Idee?

Kommentar