【发布时间】:2016-08-09 20:07:18
【问题描述】:
我有这个 logout.php 页面,用于从我的 PHP 项目中注销。
<?php
session_start();
$conn4=mysqli_connect("localhost", "root", "", "winkcage");
$useronline=$_SESSION["unamsession"];
$queryseen="UPDATE signup SET seen='' WHERE username='$useronline'";
$queryseenrun=mysqli_query($conn4, $queryseen);
session_destroy();
session_unset();
header('Location: login.php');
?>
[在 Firefox 和 Chrome 中]:当我点击注销按钮时,页面被重定向到 login.php,但是当我在不同的选项卡中再次加载主页时(只有在会话没有被破坏),它加载而不是重定向到 login.php(这将是我的索引页面)。
我不知道这段代码有什么问题。在 session_unset() 之前写 session_destroy() 有什么不同吗?我该如何解决?
[仅限 Chrome,在 Firefox 中没关系]:当我关闭 Firefox 时,会话会自动销毁,这很明显,但不是 Chrome。 Chrome 并没有破坏它。怎么可能?我已经彻底检查了我的代码,但我没有找到任何与 cookie 相关的代码行。
另一个问题是,当我登录几分钟(我猜是 20-30 分钟)时,会话会自动销毁。我是否有可能为此错误地编写了一些代码?还是默认的?
【问题讨论】:
-
您使用会话 cookie 吗?如果是 - 您也必须删除它们。喜欢
setcookie("YourCookie", "", time() - 3600); -
我不记得即使我已经写了它,因为我在过去 1 个月里一直在努力。但是机会非常少。我在这个项目中主要有 2 页。 1是登录,2是家。如果写在哪里可以找到?
-
Chrome 开发工具 -> 资源 -> Cookies