繁体   English   中英

在不刷新浏览器的情况下在 PHP 中输出 getcookie 变量

[英]Outputting getcookie variable in PHP without browser refresh

我正在使用下面的代码来 output 一个没有 cookie 的内容块,如果 cookie 已经设置了另一个数字。 问题是getcookie变量在页面刷新或用户导航到下一页之前不起作用。

我很高兴使用 header 重定向,但不确定将其放在此代码中的哪个位置(除非有人对代码本身有更好的解决方案):

if (is_page(817)) {
    setcookie("phonecookie", 1, time()+3600, COOKIEPATH, COOKIE_DOMAIN);
}
if ($_COOKIE["phonecookie"] =="") {
    echo "no cookie here";
} else { 
    echo "cookie stored!"; 
}

此外,如果访问者登陆 WordPress 中的特定页面,上面的代码会设置 cookie。

是否有另一种方法可以通过查询字符串来实现,例如 example.com/?src=affiliate

使用 header 重定向回同一页面:

if (is_page(817) && empty($_GET['redirect'])) {
    setcookie("phonecookie", 1, time()+3600, COOKIEPATH, COOKIE_DOMAIN);
    header("Location: http://url-for-this-page.com/path/?query=thequery&redirect=1"); 
    exit(0);
}

如果用户禁用了 cookies,则将redirect=1添加到 url 以停止无限循环。

尝试这个

if ((is_page(817) && (!isset($_COOKIE["phonecookie"]) {
     setcookie("phonecookie", 1, time()+3600, COOKIEPATH, COOKIE_DOMAIN); 
     //Your redirect code here
     header("Location:yoururl);
} elseif (isset($_COOKIE["phonecookie"])) {
     echo "cookie stored!";  
} else {
     echo "no cookie here or page is not 817";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM