2017-03-22 11 views
1

私は現在、データベースから読み取られた論理値が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); 

コードでは何も表示されません。 ヘッダーの前に何も出力していません... 何か不足していますか?

+0

を使用してリダイレクトしてみてください、あなたは、あなたが適切なIF文のブランチであることを確認しようとしたことがありますか? (echo 'foo'を呼び出して、リダイレクトをコメントアウトしようとしてください)もしあなたが正しいスクリプトに達していれば、<?php of dashboard.phpスクリプトの後の最初の行にecho 'のようなものを入れてください。 dashboard.php ';出口();。正しいファイルに達すると、このファイルのerror_reportingを切り替えることができ、何かが表示されることがあります。あなたの問題に関する情報はほとんどないと思います。もっと何かを知ってみてください。 – Honza

+1

あなたは知っている、それは多くの事によって引き起こされる可能性があります。あなたのアルゴリズムをシミュレートしようとしましたが、それは私のために働いています。もっと探検してみてください。 – Honza

+0

データベース(ユーザテーブル)でフルコードを送信してください。私は解決策を与える。 –

答えて

0

スクリプト

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

私は恐れているそれを解決しません。しかし、あなたの迅速な対応に感謝します。 –

+0

何かエラーが発生しました – user3386779

+0

jsコンソールが空です。そして、私のphp_error_logはこれに関連する何も出力しません。 –

関連する問題