在PHP中输出getcookie变量而不刷新浏览器

在PHP中输出getcookie变量而不刷新浏览器,php,cookies,refresh,setcookie,Php,Cookies,Refresh,Setcookie,我使用下面的代码输出一个没有cookie的内容块,如果cookie已经设置好,则输出另一个数字。问题是getcookie变量在页面刷新或用户导航到下一页之前不起作用 我很乐意使用头重定向,但不确定将其放在代码中的何处(除非有人对代码本身有更好的解决方案): 此外,如果访问者登录到WordPress中的特定页面,上面的代码会设置cookie 是否有其他方法通过查询字符串执行此操作,例如example.com/?src=affiliate使用标题重定向回同一页面: if (is_page(817)

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

我很乐意使用头重定向,但不确定将其放在代码中的何处(除非有人对代码本身有更好的解决方案):

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


是否有其他方法通过查询字符串执行此操作,例如example.com/?src=affiliate

使用标题重定向回同一页面:

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);
}

redirect=1
已添加到url,以在用户禁用Cookie时停止无限循环。

使用标题重定向回同一页面:

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);
}
redirect=1
已添加到url,以在用户禁用Cookie时停止无限循环。

尝试此操作

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";
}
试试这个

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";
}

太好了,谢谢。如何更改if语句以包含带有查询字符串的URL而不是is_页面(817)?谢谢,谢谢。如何更改if语句以包含带有查询字符串的URL而不是is_页面(817)?谢谢