成功登录后标头位置不起作用

时间:2019-05-19 13:27:56

标签: php login header location

我正在尝试建立一个登录页面;现在这是非常基础的,稍后我将实现安全控制。 与数据库的连接已经过测试,并且工作正常。 login.php仅包含带有2个字段,电子邮件和密码的表单。 以下是login2.php

<?php
session_start();
include "conn.php";

$email = $_POST["email"];
$password = $_POST["password"];

$sql = "SELECT * FROM users WHERE email = '$email' and password = '$password'";
$result = mysqli_query($conn,$sql);
$row = mysqli_fetch_array($result);
$count = mysqli_num_rows($result);

if($count == 1){
    $_SESSION['id'] = $row["id"];
    header('Location: dashboard.php');
        }else{
        echo "Username or Password invalid";
    }
?>

发生的事情是,如果电子邮件和密码错误,则出现预期的错误,如果电子邮件和密码正确,则重定向至页面dashboard.php无效,并且重定向至login.php页面。 我试图用回显替换标头位置的行以打印出用户ID,并且它可以正常工作,因此所有代码似乎都不错,只有标头位置行无效。 为了避免在标题之前输出,我尝试清理所有空格,并且还检查了没有BOM的UTF-8文件的编码。 我在做什么错了?

0 个答案:

没有答案