我在 php 中使 cookie 过期时遇到问题。这是我的代码:

<?php
setcookie('reitinvestor_user', 'null', time()-3600,'',$_SERVER['SERVER_NAME']);
setcookie('reitinvestor_pass', 'null', time()-3600,'',$_SERVER['SERVER_NAME']);
echo '<pre>'; print_r($_COOKIE); echo '</pre>';
exit;
?>

每次我点击刷新,我都会得到这个结果:

Array
(
    [_csuid] => 47dae7b6cd2d9e89
    [reitinvestor_user] => john
    [reitinvestor_pass] => 1f3870be274f6c49b3e31a0c6728957f
    [PHPSESSID] => 6027e370abad115e35b54b0be76befc8
)

我可以使用不同的键值执行 setcookie 并使它们过期。我似乎无法为 reitinvestor_user 和 reitinvestor_pass 执行此操作。怎么了?

有帮助吗?

解决方案

您是否检查过您是否在同一域和路径中更改cookie?

…]用户代理拒绝cookie(不得存储其信息),如果以下任何一个是正确的:

  • 路径属性的值不是请求 - uri的前缀。

  • 域属性的值不包含嵌入的点或不以点开头。

  • 请求 - 主机的值不符合域属性。

  • 请求主机是FQDN(不是IP地址),并且具有HD形式,其中D是域属性的值,H是一个包含一个或多个点的字符串。

RFC 2109

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top