成功登录后,我一直试图将用户重定向到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>";
}
}
?>
答案 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 working (https://stackoverflow.com/a/24928578/1691103)
其中具有指向以下有用问题答案的链接。
How to fix "Headers already sent" error in PHP (https://stackoverflow.com/a/8028987/1691103)
还要尝试确保标题名称的第一个字符为大写,在您的情况下,header('location: Userpanel.php')
应该为header('Location: Userpanel.php')