我知道这可能是一个非常初学者级的问题,但我只是一个月的PHP,所以请耐心等待。我想在WordPress博客中设置一个cookie。 Cookie从URL接收其值。 “http://www.xyz.com/?name=John”
这就是设置cookie的方式:
function set_name_cookie() {
if (isset($_GET['name'])) {
$name = $_GET['name'];
setcookie("name", $name, time()+3600, "/", ".xyz.com", false);
}
}
add_action( 'init', 'set_name_cookie');
HTML + PHP:
<?php if(isset($_COOKIE['name'])) {
$name = $_COOKIE['name'];
echo $name;
?>
<a href="?name=John">John</a>
<a href="?name=Smith">Smith</a>
问题是,当我点击链接“John”或“Smith”时,页面会加载但名称不会回显。 我必须再次刷新以使名称回显。流程存在一些问题。帮助
答案 0 :(得分:4)
当您设置cookie时,它不会在该页面加载时填充$_COOKIE
,因为该变量是从浏览器发送给您的内容加载的。解决方法是在$_COOKIE['name'] = $name;
语句后设置setcookie
- 但这并不能保证浏览器接受并实际设置cookie - 只是一种在脚本中立即使用它的方法。 / p>