Php 如果未设置指定的cookie,则应设置cookie,但代码始终会创建新的cookie
我想要一个脚本,首先验证是否设置了Php 如果未设置指定的cookie,则应设置cookie,但代码始终会创建新的cookie,php,cookies,setcookie,Php,Cookies,Setcookie,我想要一个脚本,首先验证是否设置了$\u COOKIE['location']。如果未设置$\u COOKIE['location'],我想将入口URL保存到$\u COOKIE['EntryURL']中,并将$\u COOKIE['location']设置为“TRANS”,同时重定向用户以输入其zip或手动选择其位置 因此,我生成了以下PHP: if(!isset($_COOKIE['location'])) { $EntryURL = $_SERVER['REQUEST_URI']
$\u COOKIE['location']
。如果未设置$\u COOKIE['location']
,我想将入口URL保存到$\u COOKIE['EntryURL']
中,并将$\u COOKIE['location']
设置为“TRANS”,同时重定向用户以输入其zip或手动选择其位置
因此,我生成了以下PHP:
if(!isset($_COOKIE['location'])) {
$EntryURL = $_SERVER['REQUEST_URI'];
if($EntryURL == '/') {
$EntryURL = '/index.php?pg=Home';
}
setcookie('EntryURL', $EntryURL);
setcookie('location', 'TRANS');
header("Location: MYSITE/index.php?pg=" . urlencode('Please Select Your Location'));
}
然而,我遇到的问题是,所有这些代码都是在设置或不设置$\u COOKIE['location']
的情况下执行的。页面打开,看到未设置$\u COOKIE['location']
,设置$\u COOKIE['EntryURL']
并设置$\u COOKIE['location']
,并正确重定向
但是,在重定向页面(包含在索引中,意味着将再次调用相同的代码)上,它仍然执行相同的脚本,为每个脚本生成第二个cookie,并阻止我的位置查询页面上的重定向代码正常工作(因为它正在访问$\u cookie['EntryURL']
已重写,而不是在保存两次时再次生成,以反映位置页面中的$\u服务器['REQUEST\u URI']
我无法理解如何在设置或不设置位置cookie的情况下执行此代码块。希望我正在做一些愚蠢的事情,有人可以快速识别。此处接受答案中的解决方法可能会有所帮助。这根本无法解决此问题。该人正试图召回同一页面上的cookie集,我这不是我在这里要做的。如果你给它一个过期时间怎么办?例如使用
setcookie($cookie\u name,$cookie\u value,time()+(86400*30),“/”)
它什么时候过期并不重要。事实上,我特别想回去保存这些cookie六个月,这样用户就不必在每次访问站点时重置位置,只要他们不清除历史记录。我的问题是,此代码在cookie存在之前执行,然后在cookie存在之后再次执行.您在测试时没有遇到禁用的Cookie,是吗?