PHP忽略cookie

PHP忽略cookie,php,cookies,Php,Cookies,我正在使用通过$\u COOKIE设置的限制进行mysqli查询 它的工作方式是,我发送带有URL的查询,PHP将其转换为cookie,这样用户就不会看到URL中的任何更改 然后PHP读取cookie并进行查询,然后清除cookie,这样用户就不会混淆其他查询的限制 它工作得很好,直到我不得不改变服务器,从一个托管提供商到另一个,现在它不工作,我已经建立了这个机制 我猜可能是PHP版本很重要,或者某些PHP.ini配置不同,使原始服务器工作,但第二个服务器不工作。遗憾的是,我不能在第一次完成这个

我正在使用通过$\u COOKIE设置的限制进行mysqli查询

它的工作方式是,我发送带有URL的查询,PHP将其转换为cookie,这样用户就不会看到URL中的任何更改

然后PHP读取cookie并进行查询,然后清除cookie,这样用户就不会混淆其他查询的限制

它工作得很好,直到我不得不改变服务器,从一个托管提供商到另一个,现在它不工作,我已经建立了这个机制

我猜可能是PHP版本很重要,或者某些PHP.ini配置不同,使原始服务器工作,但第二个服务器不工作。遗憾的是,我不能在第一次完成这个项目。有什么线索或建议吗

代码如下:

// GET LIMIT, PLACE IT ON A COOKIE
if (isset($_GET['l'])) {
    $cookie_name = "limit";
    $cookie_value = $_GET['l'];
    setcookie($cookie_name, $cookie_value, time() + (86400 * 1), "/bk"); // 86400 = 1 day
    header('Location:admin.php');
    die;
}
然后,在“admin.php”中:

然后我进行查询

例如,在最后一台服务器中,如果限制为10—在第二段代码末尾,$limit将等于10—但是在这个新服务器中,$limit为0。我做了一些测试,第二个If正在工作,它确实会被触发,但在If结束时,$limit等于0


帮助?

您是否尝试过更改
setcookie(…)

就像设置cookie而不指定域或设置全局域一样


另外,我认为“admin.php”开头的一些
var\u dump($\u COOKIE)
会有所帮助。

也许有人可以解释为什么

我将URL“l”上的限制变量更改为“lim”,这就产生了不同

cookie的写入和读取没有问题。我忽略了为什么,不知何故,当URL读取page.php?l=10时,$\u GET订单被跳过

我将其更改为page.php?lim=10,现在它的工作方式与第一台服务器上的相同


如果您对原因有任何意见,我们将不胜感激。

Hi@Hossam。欢迎来到堆栈溢出。这不是一个典型的论坛,这最适合作为评论而不是回答。嘿,谢谢。是的。问题似乎是,在第二种情况下,如果set cookie指令的触发速度比设置变量时快。还有,垃圾场有什么帮助?如果我转储cookie值,那么我将如何读取它以获得$limit变量值???Hi@hd,不幸的是,我没有足够的信誉点发表评论。如果我有,我会发表评论而不是回复。@Sopo Lilo:我希望你能评论一下第二个setcookie,var_在admin.php的开头转储$_COOKIE,以查看问题是在第一个setcookie中还是在读取它时。@SopoLilo:我的意思是,我们可以缩小我们认为问题所在的范围。您将COOKIE限制在
/bk
路径。所涉及的两个脚本是否托管在这样的路径上?是的,Sr。它们都是。-非常感谢。答:使用域,而不是文件夹
// GET COOKIE VALUE, DELETE COOKIE
if(isset($_COOKIE['limit'])) {
    $limit = $_COOKIE['limit'];
    setcookie("limit", '', time() -3600, "/bk"); 
} else {
    $limit = 0;
}