成功登录后,PHP无法重定向

成功登录后,PHP无法重定向,php,Php,成功登录后,我一直试图将用户重定向到Userpanel.php页面,但是header()方法在if条件下不起作用。 代码如下: <?php $db_host="localhost"; $db_name="researchblog"; $db_user="root"; $db_pass=""; $conn=mysqli_connect($db_host, $db_user, $db_pass); mysqli_select_db($c

成功登录后,我一直试图将用户重定向到Userpanel.php页面,但是
header()
方法在if条件下不起作用。 代码如下:

    <?php

    $db_host="localhost";
    $db_name="researchblog";
    $db_user="root";
    $db_pass="";
    $conn=mysqli_connect($db_host, $db_user, $db_pass);
    mysqli_select_db($conn,$db_name);

    if(isset($_POST['username']))
    {
        $uname=$_POST['username'];
        $password=$_POST['password'];

        $sql="select * from users where username='".$uname."' AND password ='".$password."'";

        $result=mysqli_query($conn,$sql);
        if(mysqli_num_rows($result)==1)
        {
            header("location:Userpanel.php");

        }
        else
        {
            echo "<script> alert('Failed to Login') </script>";

        }
    }

?>

删除
标记前的所有空白(或至少删除?>),以自动使php消除html文件中的空白和头中的不正确插入

有关更详细的解释,请参见这些答案

()

它有一个链接到以下有用的问题答案

()


另外,请尝试确保标题名的第一个字符是大写的,在您的案例中,
标题('location:Userpanel.php')
应该是
标题('location:Userpanel.php')
试试这可能在您的案例中有效

if(mysqli_num_rows($result)==1)
            {
              echo "<script>window.location = 'Userpanel.php';</script>";
            }
            else
            {
                echo "<script> alert('Failed to Login') </script>";   
            }
if(mysqli\u num\u行($result)==1)
{
echo“window.location='Userpanel.php';”;
}
其他的
{
回显“警报('登录失败')”;
}

它是否显示任何错误?不要在数据库中存储普通密码,你应该使用
密码\u散列()
密码\u验证()
。不,当然不是,这只是一般性的建议。@Moon University应该是你学习正确编码技术的地方,而不是坏习惯。
头()后面的空格
应该不会引起问题。我不知道这是否是错误的,但脚本的标题有空格。请对照实际来源进行检查。@va我确实删除了所有空格,但仍然:/a作为最后手段,尝试通过插入
错误报告(E\u all)暂时启用错误;
@Moon下您的第一行代码上方,听起来您没有在标题前输出内容,因此请确保应用了
位置的大写答案中的最后一个建议。