我读到在将HTML内容从PHP脚本发送到Web服务器之后可以设置cookie值。
但是,在使用此功能时,我无法按照自己的意愿设置Cookie。有人可以理顺我的差异吗?
答案 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()