我的网站上有一个ASP.NET登录应用程序,登录后,我可以在保持会话的同时导航到WordPress(PHP)端(仍然在同一个域中)。请参阅下面的我的贴心链接,了解其工作原理。
然而,如果我关闭浏览器就会出现问题,尽管保留了ASP.NET会话,但我仍然失去了PHP'会话'。所以我在PHP方面“注销”但仍然在.NET端“登录”。
- 有没有办法,使用我现有的代码,为会话/ cookie设置生命周期,以避免会话/ cookie在我关闭浏览器时消失? -
我已经从我的模板中找到了我当前的PHP代码:http://pastie.org/private/ndcqgbog34uqld1etozda,它会检查并保留会话。
我确实看过PHP.net上的这个例子,但对如何在我的解决方案中使用它感到困惑。
非常感谢您提出的任何指示。
答案 0 :(得分:2)
认为你应该使用具有到期时间的setcookie()(见这里)。你只是在会话中设置内容(从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。