我只能';不要破坏php中的会话
当我通过销毁会话注销并启动另一个会话时,它总是显示我启动的第一个会话信息$\u session['username'] 我的意思是: 我第一次使用此用户名-->AAAAAA登录时启动了会话 并使用包含以下代码的文件logout.php销毁会话:我只能';不要破坏php中的会话,php,Php,当我通过销毁会话注销并启动另一个会话时,它总是显示我启动的第一个会话信息$\u session['username'] 我的意思是: 我第一次使用此用户名-->AAAAAA登录时启动了会话 并使用包含以下代码的文件logout.php销毁会话: session_start(); session_destroy(); header("location: login.php"); 并使用另一个用户名-->BBBBBB登录 它总是显示我第一次使用-->AAAAAA登录的用户名 问题出在哪里 下面是代
session_start();
session_destroy();
header("location: login.php");
并使用另一个用户名-->BBBBBB登录
它总是显示我第一次使用-->AAAAAA登录的用户名
问题出在哪里
下面是代码(login.php)
来自:
为了完全终止会话(如注销用户)
会话id也必须取消设置。如果使用cookie来传播
会话id(默认行为),则会话cookie必须为
删除。setcookie()可用于此目的
:
我同意@Valery Viktorovsky,但是,
由于php7
无法使用会话\u重新生成\u id(true)代码>销毁会话后
变化日志说:
此选项适用于PHP7或更高版本:
ob_start();
session_start();
session_unset();
session_regenerate_id(true);
session_unset();
session_destroy();
session_write_close();
setcookie(session_name(),'',0,'/');
header('LOCATION: index.php');
因此,如果您不想发送邮件头后是否设置会话,您可以试试这个方法?它将永远不会被更新。替换那些行,它应该工作。另一件事,根据:,考虑删除SeaStIsId的cookie,只使用MD5来破解密码是不够的。改用bcrypt。我应该在这里做什么?我仍然是php的新手,这是我的项目期末考试:(我必须用你刚才给我的代码更改注销文件吗????添加到注销脚本:session_unset();session_destroy();session_write_close();setcookie(session_name(),“”,0,“/”);session_regene_id(true);然后将用户重定向到主页。以下是链接:我仍在等待,请:(我不知道。我尝试了你的解决方案,但仍然不起作用..我刚刚发现,当我清空db表中的所有数据时,它总是将$u会话重定向到第一个共享文章的用户..介意看一下我在这里提供给你的脚本吗?拜托,这非常紧急,没有足够的时间完成此项目。。。只要看一下索引文件,看看我是否犯了错误,因为我真的陷入了这个问题,不知道该怎么办:(
<?php session_start();?>
<h3><?php echo $_SESSION['username']; ?></h3>
session_unset();
session_destroy();
session_write_close();
setcookie(session_name(),'',0,'/');
session_regenerate_id(true);
7.0.0 - session_regenerate_id() saves old session data before closing.
ob_start();
session_start();
session_unset();
session_regenerate_id(true);
session_unset();
session_destroy();
session_write_close();
setcookie(session_name(),'',0,'/');
header('LOCATION: index.php');