无法在PHP中设置cookie?

时间:2010-03-15 01:53:11

标签: php cookies

由于某种原因,这个PHP脚本不会回应任何东西:

<?php setcookie("pop",'hi',time()+604800); echo $HTTP_COOKIE_VARS['pop']; ?>

3 个答案:

答案 0 :(得分:4)

$HTTP_COOKIE_VARS自PHP 4.1.0起已弃用,请改为$_COOKIE['pop']

答案 1 :(得分:1)

  

设置好Cookie后,可以使用$ _COOKIE或$ HTTP_COOKIE_VARS数组在下一页加载上访问这些Cookie。注意,$ _COOKIE等超级全局变量在PHP 4.1.0中可用。 Cookie值也存在于$ _REQUEST。

通过Documentation

可能是您可以在同一页面加载时访问它。

答案 2 :(得分:1)

设置cookie时,其值将与页面一起发送给客户端。 $_COOKIE(或$HTTP_COOKIE_VARS)包含客户端与请求一起发送的Cookie信息。由于您只是设置了cookie,因此客户端只能在下一个请求中发送信息。

manual puts it like this

  

设置好Cookie后,可以使用$ _COOKIE或$ HTTP_COOKIE_VARS数组在下一页加载上访问


重新编辑

这仍然是同样的问题。如果名称和密码是管理员的名称和密码,那么您只需设置一个cookie,它会以静默方式发生。然后,您回显与请求一起发送的cookie的内容,该内容可能是空的,因此它不会回显任何内容。

您真正不应该做的是将管理员名称和密码存储在cookie中。这是 Bad™。有权访问该计算机的任何人都可以查看cookie以获取敏感的登录信息。此外,信息将随每个请求一起传输,最有可能是纯文本,因此任何代理或嗅探器也可以获取登录信息。在将它们存储在cookie中之前加密它们或使用适当的会话。