-->

头(“位置:”)不重定向(header('Location:') not redir

2019-07-29 03:36发布

我有检查登录页面usernamepassword ,如果用户所提供的证书匹配,它设置会话和用户重定向,它适用于我的godadd托管帐户,但现在我已经转向我的主机,突然它已停止工作,以下是代码

if (count($result) > 0)
            {               
                $row= mysql_fetch_array($result);
                $userID = $row['userID'];               
                $firstName = $row['FirstName'];         

                $isActive = $row['IsActive'];

                if ($isActive == '1')
                {

                    $_SESSION['user'] = $firstName;     
                    //var_dump($firstName); //it gives me the right username                
                    //echo" - here";  //this also gets echoed
                    header("Location: http://google.com/"); //it just dies silently
                    exit;
                }

请帮我找出我错在哪里

Answer 1:

你需要确保你的标题标签之前不输出任何东西。 由于这是之前的工作,我认为这不是你在哪里echo'n东西调用头之前的错误,因为你看不到输出,我认为它是输出的空白。 有几个地方的一些空白和/或不可见的字符可以潜入一个文件:

将光标放在你的PHP开放标记之前( <? or <?php )和命中退格了几下,然后点击删除,删除<再重新键入< 。 这将确保没有不可见的字符输出到浏览器的标题之前。

然后再通过由该文件中包含的所有文件,并做同样的事情,以及删除所有?> ,你必须在文件的结尾。 如果这些文件包含的任何文件行吟诗人重复此对他们。



Answer 2:

如果你想用header()你不能echo之前,任何事情。



Answer 3:

你叫头之前输出任何东西()?

如果是这样,把ob_start()在你的脚本的开头或确保你没有头之前呼应什么()被调用



Answer 4:

添加ob_start(); 你的脚本的开头,并添加ob_end_flush(); 到脚本的末尾以避免此问题。



文章来源: header('Location:') not redirecting