html加载到页面后可以设置cookie值吗?

时间:2012-12-11 15:39:59

标签: php html cookies

我读到在将HTML内容从PHP脚本发送到Web服务器之后可以设置cookie值。

但是,在使用此功能时,我无法按照自己的意愿设置Cookie。有人可以理顺我的差异吗?

3 个答案:

答案 0 :(得分:2)

PHP只能在发送页面标题时(即在发送内容之前 - HTML)设置cookie。 这就是HTTP protocol works regarding cookies,服务器可以向浏览器发送存储cookie的请求。

如果您希望在加载页面后添加Cookie,可以通过JavaScript进行。

答案 1 :(得分:0)

你可以设置一个javascript cookie(用jQuery plugin稍微简单一点) - 或者通过AJAX将值发送到php脚本,并让它设置cookie。或者最好的选择,你可以在PHP级别使用会话而不是cookie。取决于您的申请。

答案 2 :(得分:-1)

我猜你没有RTM,因为如果你有,你会看到这个:

  

setcookie()定义了一个与其余部分一起发送的cookie   HTTP标头。与其他标头一样,Cookie必须先发送   脚本输出(这是协议限制)。这个   要求您在输出之前调用此函数,   包括和标签以及任何空格。

但更重要的是,在你的情况下,这个:

  

注意:

     

您可以在调用之前使用输出缓冲来发送输出   函数,所有输出到浏览器的开销   缓存在服务器中,直到您发送它。你可以通过电话来做到这一点   脚本中的ob_start()和ob_end_flush()