0

我发送soap请求并将我需要的响应存储在变量中,然后我将它存储在cookie中。但是当我打印它们时,我得到了上一个响应调用的 cookie 值:

$login_token = $asArray['soap:Envelope']['soap:Body']['LoginResponse']['LoginResult'];
setcookie("login_token_cookie", $login_token,time()+60*60*24*30);

print_r ($login_token);
echo "</br>";
echo $_COOKIE["login_token_cookie"];

我试图在昨天的日期使用 setcookie() 删除 cookie,但没有帮助。有任何想法吗?

4

3 回答 3

0

问题解决了。问题出在 SoapClient 上,当我发送请求时,我为每次调用创建了一个新的 SoapClient,并且每次调用都给了我不同的 cookie - 一种不同的会话。

于 2013-06-30T06:37:53.330 回答
0

您需要重新加载页面才能设置新的 cookie。

尝试:

$_COOKIE["login_token_cookie"] = $login_token;
setcookie("login_token_cookie", $login_token,time()+60*60*24*30);
于 2013-06-24T14:22:06.050 回答
0

在您的 setcookie() 函数中,使用当前时间之前的时间。

setcookie("login_token_cookie", $login_token,time()-10);
于 2013-06-24T14:23:03.807 回答