gpt4 book ai didi

CodeIgniter session 类在Chrome中不起作用

转载 作者:行者123 更新时间:2023-12-04 05:04:16 25 4
gpt4 key购买 nike

我已经在codeigniter项目中创建了一个登录系统,该系统在Firefox中可以正常工作,但在Chrome中不能正常工作,无法获取数据并设置 session ,但是当此代码将控件重定向到admin/dashboard时,我们会再次检查 session 数据。如果 session 数据不存在,则该代码将重定向用户以再次登录.............我的代码在下面,我不知道codeigniter中的此 session /cookie出了什么问题。

        $data = array(
'user_id' => $user->id,
'name' => $user->name,
'user_type' => $user->type,
'username' => $user->username,
'is_logged_in' => true
);

$this->session->set_userdata($data);
//echo "user ".$this->session->userdata("username"); exit;
redirect("admin/dashboard", "location");

我已经搜索了很多,但在这种情况下没有人工作,例如在配置文件中更改了“ cookie_domain ”,但没有任何 react ...。

最佳答案

我也遇到了这种情况,并通过将 session 过期时间增加到一天来解决了这一问题。

更新

为什么通过延长 session 有效期可以起作用?

发生此问题的原因是用户和Web服务器位置的时区之间存在差异,例如我住在巴基斯坦,比美国时区早10个小时,我的服务器在美国。我在巴基斯坦时间2012年10月17日14:00请求该页面。美国的时间为17/10/2012 4:00,因为网络服务器位于美国, session 过期设置为2小时,服务器发送的cookie设置为于17/10/2012 6:00过期。现在,浏览器与您的本地PC时间进行交互,并获得时间17/10/2012 14:00,因此它会删除Cookie或始终根据您的请求刷新的Cookie。因此,最好将 session 到期时间设置为1天,因为新西兰和美国之间最大的时区差异是17小时(我不确定差异可能是我错了)。因此您的Cookie至少可以存活7个小时

关于CodeIgniter session 类在Chrome中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12907962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com