2012-02-18 43 views
1

我知道這是在互聯網上的堆,我已經嘗試使用cookie(沒有工作)的東西,像空白的錨點檢查和我都沒有。微軟是可怕的,我認爲我們都可以同意!

在safari,chrome和firefox等(良好的瀏覽器)代碼工作正常,並將用戶登錄。我假設問題與會話或cookie數據一起休息,因爲如果您輸入了錯誤的用戶名/密碼該網站出現了一個錯誤,稱其無效(在互聯網前)。

我在哪裏設置會話和Cookie的代碼是這樣的:

 session_start(); 

    $_SESSION['user_id']= $id; 
    $_SESSION['user_name'] = $full_name; 
    $_SESSION['user_level'] = $user_level; 
    $_SESSION['HTTP_USER_AGENT'] = md5($_SERVER['HTTP_USER_AGENT']); 

所以這應該可以正常工作應該不是嗎?感謝您花時間閱讀本文。

快速編輯:我也有一個Facebook登錄按鈕,這部分代碼是,如果帳戶鏈接(它仍然涉及$ _SESSION):

  while ($row = mysql_fetch_array($SrcUser)) 
      { 
       $id = $row["id"]; 
       $user_level = $row["user_level"]; 
      } 

    session_start(); 
    $_SESSION['user_name'] = $full_name; 
    $_SESSION['user_level'] = $user_level; 
    $_SESSION['user_id']= $id; 
    mysql_query("update `users` 
     set `ckey`= '', `ctime`= '', `online`='0' 
     where `id`='$_SESSION[user_id]'") or die(mysql_error()); 


     // Javascript redirect.. its kinda cheating to be honest as if i dont use it i will have awkwardness with header errors 
     ?> 
    <script type="text/javascript"> 
     window.location = "myaccount.php" 
     </script> 
+2

'我不使用它我會因爲標題錯誤而帶來尷尬'所以你發送一些輸出?這會干擾cookie,因爲他們也使用標題。除了SSID之外,服務器端的$ _​​SESSIONs與IE有什麼關係?這可能是我,但我不明白的問題,對不起 – 2012-02-18 13:53:03

+0

@DamienPirsy使用標題將無法正常工作,因爲即時消息發送信息到頁面之前的頁面,所以它會拋出錯誤向右和中心。我不知道$ _SESSION和IE有什麼關係,但是我在網上看到很多關於它的信息,以及我認爲可能導致它不會繼續的唯一的事情。 – Jack4 2012-02-18 14:36:36

+0

如果在標題前發送輸出,我會看到一個流。你確定你絕對需要這樣做嗎?它不能解決緩衝? – 2012-02-18 14:40:28

回答

1

嘗試添加下列到響應的頭

header('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTR STP IND DEM"'); 

如果不行試試這個

header ('P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"'); 

more info

+0

嘿,謝謝你;我剛剛在會話開始之上添加了它。我在myaccount.php上得到了一個死亡的白頁,所以它向前移動,但是我得到了一個死亡的白頁。我把它放在正確的地方嗎? – Jack4 2012-02-18 14:39:21

+0

它需要在輸出任何內容之前完成(通過echo,print等);理想情況下,把它放在第一個PHP腳本的頂部加載 – scibuff 2012-02-18 15:19:39

+0

我已經把它放在頂部,仍然是死亡的白頁: - / – Jack4 2012-02-18 15:29:11