无法使用php' setcookie'设置Cookie在我的网站上。
它是我从w3schools获得的基本代码。它适用于w3schools(该示例适用于我的浏览器),也适用于phpfiddle,但无论我刷新多少次,我都无法在我的网站上工作。这是确切的代码:
{{1}}
当我把它放在phpfiddle上时,这个完全相同的代码有效。但是我的网站上没有工作..
此外,当我尝试使用JavaScript设置cookie时 - 它工作正常。
答案 0 :(得分:1)
尝试放置代码
$cookie_name = "user3";
$cookie_value = "John Doe";
setcookie($cookie_name, $cookie_value);
在html内容之上,即
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
答案 1 :(得分:1)
有助于理解在此处设置cookie的基本机制。 Cookie仅在请求的响应标头中设置(在使用javascript cookie设置技术之外)。在fac中的setcookie()
调用只是一个便利函数,它使程序员不必手动设置与cookie相关的响应头。
由于只能在发送任何实际HTTP响应内容之前发送标头,因此您必须在发送任何响应正文之前执行任何setcookie()
次呼叫(就像任何header()
次呼叫一样)
在您的情况下,您在调用setcookie()
之前发送了几行HTML,这意味着将永远不会发送包含cookie的标头,因为它在响应周期中已经太晚了。您需要在将任何输出发送到浏览器之前移动此代码。