浏览器没有设置禁用cookie,为什么还是无法传递成功?

解决方案 »

  1.   

    写了两个页面测试cookie是否传递成功,显示没有传递成功,是不是还需要配置php.ini文件?
      

  2.   

    不需要啊,如果你用chrome浏览器的话,开发人员工具Resources里就可以查看cookies
    cookies不能跨域,你是否是指在两个网站间传递?
      

  3.   

    先写了个表单
    然后是
    <!--文件5-3action.php:COOKIE实现用户登录-->
    <HTML>
    <HEAD>
    <TITLE>COOKIE实现用户登录</TITLE>
    </HEAD>
    <BODY>
    <?php
    $COOKIE["user_name"]=$_POST["user_name"];
    $COOKIE["user_pw"]=$_POST["user_pw"];
    if ($COOKIE["user_name"]=="ok" && $COOKIE["user_pw"]=="ok"){
    echo "口令正确,登陆成功!";
    }else{
    echo "输入的用户名为:".$COOKIE["user_name"];
    echo "<br>口令为:".$COOKIE["user_pw"];
    echo "<br>但是不正确,请尝试:ok和ok";
    }
    ?>
    <br><a href="5-3action-check.php">点击检测Cookie的值是否可以页间传递</a>
    </BODY>
    </HTML>
    再有个check页面:
    <!--文件5-3action-check.php:COOKIE页间传递-->
    <HTML>
    <HEAD>
    <TITLE>COOKIE页间传递</TITLE>
    </HEAD>
    <BODY>
    <?php
        if ($_COOKIE["user_name"]!="" && $_COOKIE["user_pw"]!=""){
            echo "COOKIE页间传递成功!<br>";
            echo "您输入的用户名为:".$_COOKIE["user_name"];
    echo "<br>口令为:".$_COOKIE["user_pw"];
            }else{
                echo "COOKIE页间传递失败,其值为空!<br>";
                }
    ?>
    </BODY>
    </HTML>
      

  4.   

    $_COOKIE["user_name"]=$_POST["user_name"];  写错了吧。
      

  5.   

    把COOKIE换成SESSION就正确了,再在文件最前面加个session_start();
    cookie的赋值在服务器端要依靠setcookie()函数
    而一般保存用户信息是在服务器端,用的是SESSION
    cookies是客户端浏览器保存的
      

  6.   

    偶一直用
    setcookie("TestCookie", $value, time()+3600);  /* expire in 1 hour */
      

  7.   

    肯定没有语法错误的,就是最好显示“COOKIE页间传递失败,其值为空!”我在写一个小论坛,然后每次页面一换就要重新登录,浏览器根本无法记下session,然后我就用这两个页面测试了一下,果然无法传递cookie,session,是不是要在php.ini里面配置什么东西啊?
      

  8.   

    SESSION好象除了不能跨站,在页面间传递的时候,如果出现跨目录/带IFRAME框架的情况跳转,好象也将会失效果。
      

  9.   

    设置SESSION的时候添加一个作用域应该可以解决问题。一般以“\”根目录,再其下和包含目录内的页面均有效。