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

时间:2019-04-10 16:18:02

标签: 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($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>";

        }
    }

?>

2 个答案:

答案 0 :(得分:1)

尝试此操作可能会适合您的情况。

if(mysqli_num_rows($result)==1)
            {
              echo "<script>window.location = 'Userpanel.php';</script>";
            }
            else
            {
                echo "<script> alert('Failed to Login') </script>";   
            }

答案 1 :(得分:0)

删除<?php标记之前和?>标记之后的所有空格(或至少删除?>,以自动使php消除html文件中的空格并不正确地注入html文件中。标头。

有关更多详细说明,请参见这些答案。

PHP Header redirect not workinghttps://stackoverflow.com/a/24928578/1691103

其中具有指向以下有用问题答案的链接。

How to fix "Headers already sent" error in PHPhttps://stackoverflow.com/a/8028987/1691103

还要尝试确保标题名称的第一个字符为大写,在您的情况下,header('location: Userpanel.php')应该为header('Location: Userpanel.php')