如何将数据发送到PHP中的多个标头?我试过但它不起作用。它只重定向最后一个标题

时间:2015-06-25 15:51:32

标签: php apache web

我向你发送了两个标题,我希望在接下来的两页中使用相同的ID,但它无法正常工作

        if($username == $dbname && $password == $dbpass){
        session_start();
        $_SESSION['sess_user_id']=$dbid;



        //Redirect to member
        header("Location: updatename.php");
        header("Location: Viewdata.php");

    }
}   else{
    echo ' Invalid username or password.';
    }

1 个答案:

答案 0 :(得分:0)

你不能使用2个标题 - 一旦PHP通过标题调用重定向,你已经转移到另一个PHP脚本,并且不会返回到你调用新页面的脚本。因此,假设您的第一个脚本只是更新后端的内容并且不用于呈现HTML,而不是使用header()调用两次,include第一个,然后重定向到第二个:

    if($username == $dbname && $password == $dbpass){
        session_start();
        $_SESSION['sess_user_id']=$dbid;



        //Include updatename.php, then redirect
        include "updatename.php";
        header("Location: Viewdata.php");

    }
}   else{
    echo ' Invalid username or password.';
    }

另一方面,如果你需要显示两者的输出,你可以include

    if($username == $dbname && $password == $dbpass){
        session_start();
        $_SESSION['sess_user_id']=$dbid;



        //Include both updatename.php and Viewdata.php
        include "updatename.php";
        include "Viewdata.php";

    }
}   else{
    echo ' Invalid username or password.';
    }

另外:我假设在发布的代码之前有一个外部if声明。如果不是这种情况,您已经两次关闭此if语句 - 这将导致错误。