まず第一に、ユーザーが認証されている場合の、テストしてみましょう:
<?php
session_start();
var_dump($_SESSION); // print all the session to see if $_SESSION['username'] is set
exit;
...
ユーザーがログインしている場合は、セッションを終了するには、ブラウザを再起動してください。
$_SESSION
が空の場合、ユーザーはログインしていません。最初のテスト行を削除し、実行がheader
関数に行くかどうかを見てみましょう:
if (!isset($_SESSION['username']))
{
echo "User will be redirected";
exit;
header("location:../Login/LoginForm.php");
}
これまでのところ大丈夫な場合は、リダイレクトが機能していないことを意味します。 送信された出力があれば、ヘッダーはブラウザーに送信できなくなります。そのような場合は、ファイルを確認する必要があります(ConnectToMySql.php
などのファイルも含まれています)。よくある間違いは、コンフィギュレーションファイルにphpタグ?>
を閉じた後に空白スペースを追加することであり、それは見つけ出してデバッグするのが非常に難しいです。これを避ける簡単な練習は、PHP終了タグ?>
をPHPのみを含むファイルに置くことは決してありません。
これらのテストによっては、少なくとも動作していないものを見つけることができます。
どのように動作していないのかを詳しく教えてください。 –
ログインすることなくページにアクセスできるようにします。 – alexjfno1
$ _SESSIONをチェックして、そのデータに含まれているデータを確認しましたか? – dm03514