本帖最后由 zj200719366 于 2013-03-20 10:47:15 编辑

解决方案 »

  1.   

    setcook 前有输出了??
    两个页面的time不一样?//这个可能性比较少
    ie拒绝cookies了?
      

  2.   

    加一句
    header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"');
      

  3.   


    我现在2个域名
    http://test1.yourone.cn/
    http://test2.yourone.cn/
    test2下面的login.php        $account=$_POST['username'];
    $password=$_POST['password']; $rs = curlApp('http://test1.yourone.cn/index.php?a=webLogin&m=Login&g=Home&act=1&username='.$account.'&password='.$password);

    $rsarr=explode("||", $rs);
    if($rsarr[0] != "" && $rsarr[0] === "ok"){
    $account=$rsarr[1];
    $userid=$rsarr[2];
    $type=$rsarr[3];
    setcookie("YP_account",$account,(time()+3600),"/",".yourone.cn");
    setcookie("YP_userid",$userid,(time()+3600),"/",".yourone.cn");
    setcookie("YP_type",$type,(time()+3600),"/",".yourone.cn");
    $js->alertWithRelocate("登录成功","../index.php");
    }else{
    $js->alertWithBack($rs);
    }用curl请求去test1下面的验证里面取得验证结果 返回登录信息
    验证结果是 echo "ok||$account||$userid||$type";  
    获取信息设置test2下面的cookie
      

  4.   

    我是在test2登录的 设置本域名下的cookie不需要header p3p吧 ?
    我需要实现的效果是
    test1登录 成功后 如果test1有登录cookie信息 那么调用test2、test3里面设置cookie页面
    test2登录 成功后 如果test2有登录cookie信息 那么调用test1、test3里面设置cookie页面
    test3登录 成功后 如果test3有登录cookie信息 那么调用test1、test2里面设置cookie页面代码如下
    test1中的<?php
    header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"');
    $account=isset($_GET['account'])?addslashes(trim($_GET['account'])):"";
    $userid=isset($_GET['userid'])?trim($_GET['userid']):"";
    $type=isset($_GET['type'])?trim($_GET['type']):"";
    setcookie("YP_account",$account,(time()+3600),"/",".yourone.cn");
    setcookie("YP_userid",$userid,(time()+3600),"/",".yourone.cn");
    setcookie("YP_type",$type,(time()+3600),"/",".yourone.cn");
    ?>
    test2中的
    <?php
    header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"');
    $account=isset($_GET['account'])?trim($_GET['account']):"";
    $userid=isset($_GET['userid'])?trim($_GET['userid']):"";
    $type=isset($_GET['type'])?trim($_GET['type']):"";
    setcookie("YP_account",$account,(time()+3600),"/",".yourone.cn");
    setcookie("YP_userid",$userid,(time()+3600),"/",".yourone.cn");
    setcookie("YP_type",$type,(time()+3600),"/",".yourone.cn");
    ?>
    test3中的<?php
    header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"');
    $account=isset($_GET['account'])?addslashes(trim($_GET['account'])):"";
    $userid=isset($_GET['userid'])?trim($_GET['userid']):"";
    $type=isset($_GET['type'])?trim($_GET['type']):"";
    setcookie("YP_account",$account,(time()+3600),"/",".yourone.net.cn");
    setcookie("YP_userid",$userid,(time()+3600),"/",".yourone.net.cn");
    setcookie("YP_type",$type,(time()+3600),"/",".yourone.net.cn");
    ?>FF下功能是实现了 但是IE下面不行
    比如test1登录  test1的cookie都设置不成功 test2 test3也是如此