PHP注销赢得';我不能在网上工作

PHP注销赢得';我不能在网上工作,php,sql,session,logout,Php,Sql,Session,Logout,我试图在internet和堆栈溢出上查找我的问题,但没有找到解决问题的答案。所以我有一个后端系统,我正在为一个开源项目创建一个网站。我现在刚刚完成将所有内容转移到我的在线域和数据库。在解决了很多其他问题后,它现在可以工作了,除了注销 在我的后端标题中,我有以下url: 正如你所看到的,@paulprogrammer,我用cookies做了一些事情。当我注销时,如何确保销毁它 编辑(2): 好的,谢谢你的指点。我从登录检查功能中删除了cookie部分,并将其转换为以下简单功能: function

我试图在internet和堆栈溢出上查找我的问题,但没有找到解决问题的答案。所以我有一个后端系统,我正在为一个开源项目创建一个网站。我现在刚刚完成将所有内容转移到我的在线域和数据库。在解决了很多其他问题后,它现在可以工作了,除了注销

在我的后端标题中,我有以下url:

正如你所看到的,@paulprogrammer,我用cookies做了一些事情。当我注销时,如何确保销毁它

编辑(2):

好的,谢谢你的指点。我从登录检查功能中删除了cookie部分,并将其转换为以下简单功能:

function sec_session_start() {
session_start();
}
<?php
session_name('sec_session_id');
session_start();
setcookie(session_name(), '', 100);
session_unset();
session_destroy();
$_SESSION = array();

header("Location: login.php");
?>
这不会创建cookie,现在它可以工作了。我试图通过官方php manul说的东西来解除饼干的锁定,但没有成功。这就是为什么我选择了更简单的方法。因为除了我之外没有多少人会使用后端,而且它似乎工作正常,即使没有cookie,我称之为完成。此主题可以关闭:)

最终编辑(3): 好的,多亏了*@paulprogrammer,它现在也可以与Cookie一起使用了。既然我知道了答案,那么你这么做似乎是合乎逻辑的。我真蠢。很显然,我必须设置会话的名称,就像我在会话中所做的一样。我在开始之前就这么做了。登录检查功能的新的、更新的代码:

function sec_session_start() {
session_start();
}
<?php
session_name('sec_session_id');
session_start();
setcookie(session_name(), '', 100);
session_unset();
session_destroy();
$_SESSION = array();

header("Location: login.php");
?>

您在设置代码中设置了会话名称,但在拆卸代码中设置失败。因此,在拆卸过程中,PHP正在销毁默认会话名称,而不是自定义会话名称。注销后,自定义会话名称在请求中仍然可用

只要在使用会话操作的任何地方一致使用
session\u name()
函数,即可确保会话管理始终在正确的会话令牌上运行

在logout.php中:

<?php
session_name('sec_session_id');

session_regenerate_id();
session_start();
session_unset();
$_SESSION = array();
session_destroy();

header("Location: login.php");
?>


您看到的是cookie值,而不是会话值吗?@PauProgrammer我认为您的方向可能是正确的。检查我对原始帖子的编辑是否有更新。尝试执行
session\u name($session\u name)
也在您的注销脚本中,否则PHP将仅销毁默认会话cookie。@这是一个与“编辑1”中的我的代码一起工作的程序员!太好了,我现在正在使用这个解决方案。谢谢你,伙计。我会把它放到最后的编辑3.很高兴它奏效了,格伦。添加此讨论作为答案,以便您可以接受它。:)
<?php
session_name('sec_session_id');

session_regenerate_id();
session_start();
session_unset();
$_SESSION = array();
session_destroy();

header("Location: login.php");
?>