无法重定向到主页[重复]

Posted

技术标签:

【中文标题】无法重定向到主页[重复]【英文标题】:Cannot redirect to home page [duplicate] 【发布时间】:2012-02-05 15:19:48 【问题描述】:

可能重复:Warning: Cannot modify header information - headers already sentHeaders already sent by php

错误:无法修改标头信息 - 标头已由 C:\xampp\htdocs\GameHutWebsite\login.php 中的(输出开始于 C:\xampp\htdocs\GameHutWebsite\data\connection.php:1)在线发送21

当用户在登录屏幕中输入正确的用户名和密码以在主页中发送用户时,我收到此错误。这是代码:

<?php
if ($_POST)
    
        $dsLogin = $dataobj->validateLogin($_POST["txtUsername"],$_POST["txtPassword"]);

        if (mysql_num_rows($dsLogin))
        
            $dsUserDetails = mysql_fetch_array($dsLogin);
            $_SESSION["UserEmail"] =  $dsUserDetails["UserEmail"];
            $_SESSION["Username"] =  $dsUserDetails["Username"];
            $_SESSION["UserTypeId"] =  $dsUserDetails["UserTypeId"];
            header ("Location: index.php");
        
        else
        
            $msg = "Invalid Username and Password!";
        
    
?>

连接类:

<?php
class connection
   
    function connect($sql)
    
        $server = 'localhost';
        $myDB = 'gamehutdb'; 

        //connection to the database
        $dbhandle = mysql_connect($server, 'root', "")
            or die("Couldn't connect to SQL Server $server"); 
        //select a database to work with
        $selected = mysql_select_db($myDB)
            or die("Couldn't open database $myDB"); 

        //execute the SQL query and return records
        $result = mysql_query($sql);

        //return result set
        return $result;
        //close the connection
        mysql_close($dbhandle); 
    

?>

【问题讨论】:

你永远不会关闭连接,因为它在return语句之后 ***.com/search?q=%5Bphp%5D+headers+already+sent+by 【参考方案1】:

你用过

header ("Location: index.php");

在向客户端发送内容(即使用 echo 或 print)之后,请确保在该代码之前没有任何内容发送给客户端。

另一个原因可能是BOM problem。

【讨论】:

【参考方案2】:

这可能是因为您的连接类正在发出某种输出

注释掉“标题”行并运行您的脚本。如果你得到一些输出,那就是原因。

您应该根据是否收到错误有条件地启动“标题”行,至少在解决问题时是这样。

【讨论】:

以上是关于无法重定向到主页[重复]的主要内容,如果未能解决你的问题,请参考以下文章

空搜索重定向到主页

注销和删除 Cookies [重定向到主页]

Laravel 5.2 如何将所有 404 错误重定向到主页

django:登录后重定向到引用页面[重复]

使用 301 重定向重定向 404 是将现有页面重定向到主页

反应重定向到另一个页面不起作用[重复]