使用者登入
login.php
setcookie("YP_account",$account,(time()+3600),"/",".yourone.cn");setcookie("YP_userid",$userid,(time()+3600),"/",".yourone.cn");setcookie("YP_type",$type,(time()+3600),"/",".yourone.cn");
設定完cookie跳轉index.php
print_r($_COOKIE);
返回空值 也就是login.php版面設定的cookie沒有成功
請問下各位牛人、這個問題怎麼回事
本地我用2個虛擬網域名稱這樣操作沒問題
以上代碼是放到外網伺服器進行測試的
註:同樣的代碼 在FF下面沒有任何問題
回複討論(解決方案)
setcook 前有輸出了??
兩個頁面的time不一樣?//這個可能性比較少
ie拒絕cookies了?
加一句
header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"');
我現在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
我是在test2登入的 設定本網域名稱下的cookie不需要header p3p吧 ?
我需要實現的效果是
test1登入 成功後 如果test1有登入cookie資訊 那麼調用test2、test3裡面設定cookie頁面
test2登入 成功後 如果test2有登入cookie資訊 那麼調用test1、test3裡面設定cookie頁面
test3登入 成功後 如果test3有登入cookie資訊 那麼調用test1、test2裡面設定cookie頁面
代碼如下
test1中的
test2中的
test3中的
FF下功能是實現了 但是IE下面不行
比如test1登入 test1的cookie都設定不成功 test2 test3也是如此