我发送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,但无济于事。有什么想法吗?
您需要重新加载页面才能设置新的cookie。
尝试:
$_COOKIE["login_token_cookie"] = $login_token;
setcookie("login_token_cookie", $login_token,time()+60*60*24*30);
在您的setcookie()函数中,使用当前时间之前的时间。
setcookie("login_token_cookie", $login_token,time()-10);
问题已解决。问题出在SoapClient上,当我发送请求时,我为每个调用创建了一个新的SoapClient,并为每个调用提供了不同的cookie——有点像不同的会话。