在我单击注销按钮之前,如何在 php 中保持会话? [复制]

Posted

技术标签:

【中文标题】在我单击注销按钮之前,如何在 php 中保持会话? [复制]【英文标题】:How to maintain session in php until I click logout button? [duplicate] 【发布时间】:2015-04-20 14:21:12 【问题描述】:

如何实现长时间保持会话。

示例: 如果我登录到一个页面并在某个时间(比如 5 小时)后会话将自动关闭。在我按下注销按钮之前如何让它活着。

【问题讨论】:

你需要设置一个cookie来保存会话:***.com/questions/12091951/… php.net/manual/en/book.session.php 【参考方案1】:

使用

ini_set('session.gc_maxlifetime', <seconds>);

在使用会话的 php 脚本中

当您是服务器管理员时,或者在您的 php.ini 中增加该值。但请注意,这是服务器范围的。

要使其成为本地项目/目录,您还可以为您的项目创建一个 .htaccess 文件,其中包含:

php_value session.gc_maxlifetime <seconds>

但这可能会受到服务器的 AllowOverride 设置的限制

【讨论】:

【参考方案2】:

我的建议是使用 cookie(网站上有免责声明!)。 尝试类似的方法,其中time()+60*60*24*100 表示 cookie 的有效性(以秒为单位)。

重要提示:为了让它与最新的 chrome 更新一起使用,不要忘记最后一个 NULL 参数!

setcookie("your_cookie_name", $session, time()+60*60*24*100,'/', NULL);

然后,为了使用 cookie,只需读取它并将其保存在新会话中:

if(!isset($_SESSION['your_parameter_name']) $_SESSION['your_parameter_name'] = $_COOKIE['your_cookie_name'];

【讨论】:

以上是关于在我单击注销按钮之前,如何在 php 中保持会话? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

注销按钮上的 PHP 会话销毁

单击注销时如何从所有活动会话中注销?

在 iPhone 中保存 Spotify 登录的用户会话

快速单击链接会导致注销(会话锁定?)

单击注销按钮终止会话并重定向到登录页面

注销后的 CodeIgniter 后退按钮