1

我的网站上有一个 ASP.NET 登录应用程序,登录后,我可以导航到 WordPress(PHP) 端(仍然在同一个域中),同时保持会话。请参阅下面的我的馅饼链接,了解它是如何工作的。

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

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

我已经从我的模板中粘贴了我当前的 PHP 代码:http://pastie.org/private/ndcqgbog34uqld1etozda 它检查并保持会话。

我确实在 PHP.net 上查看了这个示例,但对如何在我的解决方案中使用它感到困惑。

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

4

1 回答 1

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。

于 2012-07-13T13:04:29.010 回答