php - 关闭浏览器后保留 PHP session

标签 php asp.net session cookies session-timeout

这个的一些背景故事......

我的网站上有一个 ASP.NET 登录应用程序,登录后,我可以导航到 WordPress(PHP) 端(仍在同一域上),同时保持 session 。请参阅下面我的粘贴链接了解其工作原理。

但是,如果我关闭浏览器,就会出现问题,尽管保留了 ASP.NET session ,但我还是丢失了 PHP“ session ”。因此,我在 PHP 端“注销”,但在 .NET 端仍然“登录”。

-- 有没有办法使用我现有的代码来设置 session /cookie 的生命周期,以避免当我关闭浏览器时 session /cookie 消失? --

我已经从模板的 <head> 粘贴了当前的 PHP 代码这里:http://pastie.org/private/ndcqgbog34uqld1etozda它检查并保留 session 。

我确实看过this example on PHP.net但对于如何在我的解决方案中使用它感到困惑。

非常感谢您对此的任何指点。

最佳答案

认为您应该使用带有到期时间的 setcookie() (请参阅 here )。您只是在 session 中设置内容(看起来像是从 cookie 复制的,但我不确定它们的生命周期是多少)。

而不是这一行:

$_SESSION[DOT_NET_SESSION][ $tuple['SessionName'] ] =
    $tuple['SessionValue'];

试试这个:

$cookie = array($tuple['SessionName'] => $tuple['SessionValue']);
setcookie(DOT_NET_SESSION, $cookie, time() + 60 * 60 * 24);

我认为这应该设置一天的 cookie。

关于php - 关闭浏览器后保留 PHP session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9895200/

相关文章:

PHP & mySQL : When exactly to use htmlentities?

c# - 用户控件的可见属性何时会影响其子项?

asp.net - 当用户的浏览器断开连接时,如何取消 ASP.NET 中的数据库查询?

asp.net - 配置 Azure Web 和 SQL 英国文化

javascript - 刷新后express-flash消息为空

用户注销后 PHP Session 没有被破坏

c# - 如何处理总是在 asp.net C# 中给出异常的空 session ?

php - 移动到新服务器后无法写入 MYSQL DB

php - 使用 php sleep() 函数是一个好主意,可以通过繁重的脚本降低 CPU 负载吗?

php - 无法获取 mysqli...调用非对象上的成员函数 fetch_assoc()