2012-02-18 29 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