diff options
-rw-r--r-- | login.php | 8 | ||||
-rw-r--r-- | logout.php | 6 | ||||
-rw-r--r-- | sessions.php | 4 |
3 files changed, 17 insertions, 1 deletions
@@ -19,6 +19,14 @@ if ($line = $sth->fetch()) { require_once "sessions.php"; + if (session_status() != PHP_SESSION_NONE) { + session_destroy(); + session_commit(); + } + + session_start(); + session_regenerate_id(true); + $_SESSION["owner"] = $user; header("Location: index.php"); } else { @@ -4,6 +4,12 @@ session_destroy(); + if (isset($_COOKIE[session_name()])) { + setcookie(session_name(), '', time()-42000, '/'); + } + + session_commit(); + header("Location: login.php"); ?> diff --git a/sessions.php b/sessions.php index 3735add..bc88180 100644 --- a/sessions.php +++ b/sessions.php @@ -19,5 +19,7 @@ register_shutdown_function('session_write_close'); - session_start(); + if (isset($_COOKIE[session_name()])) { + session_start(); + } ?> |