Прежде всего, давайте проверим, аутентифицирован ли пользователь:
<?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.
В зависимости от этих тестов вы можете по крайней мере выяснить, что не работает.