私は現在、データベースから読み取られた論理値がtrueに設定されている場合、ユーザが別のページにリダイレクトされるようにするためにログインページを作成しています。 しかし、このifステートメントのheader()はユーザーを適切にリダイレクトしません。ここif文のPHPヘッダが機能しない
は、私のコードのサンプルです:
<?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!";
}
}
?>
私が偽であれば条件を置く場合。 "location:strater-page.php"の2番目のヘッダーは正しいページにリダイレクトされます。
私は不要な空白がありません。
プッ:
error_reporting(E_ALL);
ini_set('display_errors', 1);
コードでは何も表示されません。 ヘッダーの前に何も出力していません... 何か不足していますか?
を使用してリダイレクトしてみてください、あなたは、あなたが適切なIF文のブランチであることを確認しようとしたことがありますか? (echo 'foo'を呼び出して、リダイレクトをコメントアウトしようとしてください)もしあなたが正しいスクリプトに達していれば、<?php of dashboard.phpスクリプトの後の最初の行にecho 'のようなものを入れてください。 dashboard.php ';出口();。正しいファイルに達すると、このファイルのerror_reportingを切り替えることができ、何かが表示されることがあります。あなたの問題に関する情報はほとんどないと思います。もっと何かを知ってみてください。 – Honza
あなたは知っている、それは多くの事によって引き起こされる可能性があります。あなたのアルゴリズムをシミュレートしようとしましたが、それは私のために働いています。もっと探検してみてください。 – Honza
データベース(ユーザテーブル)でフルコードを送信してください。私は解決策を与える。 –