isset($ _ COOKIE [' name']))无效

时间:2013-01-01 02:10:11

标签: php cookies isset

所以我正在为自己创建一个博客并给自己设置管理员权限我设置了一个cookie。 我手动检查了它的存在。

我已经使用apache服务器在笔记本电脑上测试了代码,代码运行正常。

我有两个php页面

第一个检测到cookie很好,我从表单发布到这个php页面。

<?php



if(isset($_POST['tt'])){

    if(isset($_COOKIE['name'])){
        echo "something";
打印的东西

上面的页面是检测cookie的唯一页面我有7个以上的文件没有一个检测到cookie。我将在这里发布主页

    if(isset($_GET['cat'])){
    $t = $_GET['cat'];
    $mod = "where `cat`=$t";
}

    $ref = mysql_query("SELECT * FROM `content`".$mod);
    while($row = mysql_fetch_assoc($ref)){
        $tit = $row['title'];
        $cno= $row['cno'];
        $brief = $row['brief'];
        $cat = $row['cat'];
        $time = $row['time'];
        $t = "";
        if(isset($_COOKIE['name'])) echo "something";

没有打印的东西

也 1)除了第一个代码段之外,没有其他页面使用post方法并检索数据 previous 来检查cookie。其余的页面有时在检查cookie之前有一个get方法,就像我一样如上所示,但在检查cookie之前没有使用post方法 2)var_dump ['$ _ COOKIE']仅产生由我的托管服务提供商设置的无关cookie。

我猜这可能是一个php配置问题?

2 个答案:

答案 0 :(得分:4)

Cookie可能是路径Cookie,这意味着它只会发送到一个页面。使用Firebug“Cookies”选项卡(或类似工具)检查是否是这种情况,并使用Firebug“网络”选项卡(或类似工具或Wireshark)检查cookie是否实际上是由浏览器发送的。

答案 1 :(得分:2)

你在哪里/如何设置cookie?设置PHP cookie时有[n](可选)第4个path参数:

http://php.net/manual/en/function.setcookie.php

例如:

setcookie("cookiename","cookievalue", $time);只会将其设置为当前网址路径

然而:setcookie("cookiename","cookievalue", $time,"/");将为该域上的所有页面/文件夹设置cookie,

如果您在谷歌浏览器中按CTRL + SHIFT + J,然后单击“资源”选项卡,您可以找到cookie及其有效的路径。我会检查出来。或许这就是为什么?