if 语句中的 PHP 头不重定向用户

问题描述 投票:0回答:1

我目前正在开发一个登录页面,如果从数据库读取的布尔值设置为 true,我希望将用户重定向到另一个页面。 然而,这个 if 语句中的 header() 永远不会正确地重定向用户。

这是我的代码示例:

<?php
session_start();
include_once 'php/dbconnect.php';
//check if form is submitted
if (isset($_POST['login'])) {
    $gebruikersnaam = mysqli_real_escape_string($con, $_POST['username']);
    $password = mysqli_real_escape_string($con, $_POST['password']);
    $result = mysqli_query($con, "SELECT * FROM users WHERE username = '" . $gebruikersnaam. "' and password = '" . md5($password) . "'");
    if ($row = mysqli_fetch_array($result)) {
        $_SESSION['usr_id'] = $row['id'];
      if($row['initialised'] == true)
      {
        header("Location: dashboard.php");
        exit();
      }
      else{
        $_SESSION['usr_name'] = $row['username'];
        $_SESSION['usr_company'] = $row['companyname'];
        header("Location: starter-page.php");
        exit();
      }
      } else {
        $errormsg = "Incorrect Email or Password!"; 
    }
}
?>

如果我将 if 条件设置为 false。第二个标头“location: strater-page.php”将重定向到正确的页面。

我没有任何不必要的空白。

推杆:

error_reporting(E_ALL);
ini_set('display_errors', 1); 

代码中没有显示任何内容。 我在标题之前没有输出任何内容... 我是不是错过了什么?

php database header
1个回答
0
投票

尝试使用脚本重定向

<?php
if($row['initialised'] == true)
  {
  echo ("<SCRIPT LANGUAGE='JavaScript'>
  window.location.href='dashboard.php';
 </SCRIPT>");
}
?>
© www.soinside.com 2019 - 2024. All rights reserved.