if语句中的php标头不起作用

时间:2017-03-22 09:22:08

标签: php database header

我目前正在登录页面,如果从数据库中读取布尔值为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); 

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

1 个答案:

答案 0 :(得分:0)

尝试使用脚本重定向

<?php
if($row['initialised'] == true)
  {
  echo ("<SCRIPT LANGUAGE='JavaScript'>
  window.location.href='dashboard.php';
 </SCRIPT>");
}
?>