目录
回复内容:
首页 后端开发 php教程 网站是SESSION保持回话的,我手动删除了客户机上的所有cookie,再次访问的时候为什么还是登录状态呢?

网站是SESSION保持回话的,我手动删除了客户机上的所有cookie,再次访问的时候为什么还是登录状态呢?

Sep 21, 2016 pm 02:13 PM
mysql php 缓存

本人刚接触PHP不到3个月,noob一枚.....试写的网站是用SESSION保持回话的,在没有关闭浏览器的情况下, 我手动删除客户端上所有的cookie文件,然后刷新网站,发现还是帐号处于登录状态...这是怎么回事呢?

而据我平时常用的一些网站,只要清空cookie后,都会退出登录状态...

下面是小弟的问题代码,请大牛们不吝赐教..

处理登录代码的页面A

<code>//登录成功,保持登录状态
function login_true($username){
    session_start();
    $_SESSION['userinfo']=array('uid'=&gt;476283675,'username'=&gt;$username);
}
</code>
登录后复制
登录后复制

显示登录界面的页面B

<code>/*如果$_SESSION['userinfo']或$_SESSION['userinfo']['uid']为空
 *则说明未登录,引导用户登录
 */

session_start();
if (empty($_SESSION['userinfo'])or empty($_SESSION['userinfo']['uid'])){
    echo "<a href="919.html">点我登录</a>";
    die('请先登录');
}

echo '晚上好';</code>
登录后复制
登录后复制

清空了cookie文件后,还是保持登录状态,请问问题出在哪儿呢?

回复内容:

本人刚接触PHP不到3个月,noob一枚.....试写的网站是用SESSION保持回话的,在没有关闭浏览器的情况下, 我手动删除客户端上所有的cookie文件,然后刷新网站,发现还是帐号处于登录状态...这是怎么回事呢?

而据我平时常用的一些网站,只要清空cookie后,都会退出登录状态...

下面是小弟的问题代码,请大牛们不吝赐教..

处理登录代码的页面A

<code>//登录成功,保持登录状态
function login_true($username){
    session_start();
    $_SESSION['userinfo']=array('uid'=&gt;476283675,'username'=&gt;$username);
}
</code>
登录后复制
登录后复制

显示登录界面的页面B

<code>/*如果$_SESSION['userinfo']或$_SESSION['userinfo']['uid']为空
 *则说明未登录,引导用户登录
 */

session_start();
if (empty($_SESSION['userinfo'])or empty($_SESSION['userinfo']['uid'])){
    echo "<a href="919.html">点我登录</a>";
    die('请先登录');
}

echo '晚上好';</code>
登录后复制
登录后复制

清空了cookie文件后,还是保持登录状态,请问问题出在哪儿呢?

网站是SESSION保持回话的,我手动删除了客户机上的所有cookie,再次访问的时候为什么还是登录状态呢?

用浏览器自带的清除按钮。

按理来说,cookie成功清除了,cookie存储的sessionid也就没了,请求到后端session机制就没法获取的sessionid去对应会话文件获取信息。不知道你哪环处理异常了。cookie没清除?sessionid已其他形式带到请求体中?

session是通过每次请求的时候传递一个session_id的值来保存会话的,而传递的方式有两种,一种是通过每次请求时携带的cookies,还是有一种是通过url来传递,如果你php设置的是通过cookies,那么只要删除相应域名下的原来的cookies,服务器就会自动生成新的session_id,也就是丢失了原来的session,至于你的问题,我觉得是删除的方法不对,既然是开发者,那就用浏览器的开放者工具,上面可以显示当前域名下的全部cookies,也可以删除cookies,另外,浏览器推荐chrome!
网站是SESSION保持回话的,我手动删除了客户机上的所有cookie,再次访问的时候为什么还是登录状态呢?

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南 适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南 Dec 24, 2024 pm 04:42 PM

适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南

CakePHP 日期和时间 CakePHP 日期和时间 Sep 10, 2024 pm 05:27 PM

CakePHP 日期和时间

CakePHP 项目配置 CakePHP 项目配置 Sep 10, 2024 pm 05:25 PM

CakePHP 项目配置

CakePHP 文件上传 CakePHP 文件上传 Sep 10, 2024 pm 05:27 PM

CakePHP 文件上传

CakePHP 路由 CakePHP 路由 Sep 10, 2024 pm 05:25 PM

CakePHP 路由

讨论 CakePHP 讨论 CakePHP Sep 10, 2024 pm 05:28 PM

讨论 CakePHP

如何修复 MySQL 8.4 上的 mysql_native_password 未加载错误 如何修复 MySQL 8.4 上的 mysql_native_password 未加载错误 Dec 09, 2024 am 11:42 AM

如何修复 MySQL 8.4 上的 mysql_native_password 未加载错误

如何设置 Visual Studio Code (VS Code) 进行 PHP 开发 如何设置 Visual Studio Code (VS Code) 进行 PHP 开发 Dec 20, 2024 am 11:31 AM

如何设置 Visual Studio Code (VS Code) 进行 PHP 开发

See all articles