PHP - проверка сеанса на странице HTML - PullRequest
0 голосов
/ 26 сентября 2011

У меня есть HTML-страница, которую я не хочу быть доступной, если вход в систему не будет успешным.Мой логин запускает сеанс, однако я не знаю, как проверить сеанс в HTML, и если сеанс существует, я хочу отобразить страницу, если нет, я хочу отобразить неавторизованное сообщение.Как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 26 сентября 2011

Вы не можете проверить сеанс в HTML как таковой, вам придется сделать это в PHP. В зависимости от того, как ваша страница построена с использованием PHP, вы можете попробовать поместить что-то вроде этого вверху HTML-файла:

<?php
if (!isset($_SESSION['my_login_var'])) {
  echo 'Unauthorised';
  exit();
}
?>

Но вам будет гораздо лучше сделать это раньше в своем PHP-коде, и в этом случае вы можете использовать функцию заголовка , чтобы отправить пользователя на соответствующую страницу 403.

UPDATE

Обычно PHP выполняет некоторую обработку перед выводом HTML-кода и отправкой заголовков подключающемуся клиенту, поэтому вы хотите отправить заголовок 403 до того, как произойдет этот вывод. Это может быть во включенном PHP-файле, который запускается до сборки HTML, или даже в самом HTML-файле, если до того, как сценарий достигнет этой точки, не было выведено никакого другого содержимого.

Вы можете внести небольшую корректировку в приведенный выше код, чтобы отправить заголовок 403 и «правильно» запретить доступ к странице:

<?php
if (!isset($_SESSION['my_login_var'])) {
  header('HTTP/1.1 403 Forbidden');
  exit();
}
?>
0 голосов
/ 26 сентября 2011

Вам нужно будет посмотреть сеансы PHP.См. http://us.php.net/manual/en/function.session-start.php для PHP session_start() документации.

В основном вам нужно будет сделать session_start().Если вход выполнен успешно, установите переменную сеанса как $_SESSION['logged_in'] = true;.Затем выполните некоторую логику на своей странице и перенаправьте / отобразите сообщение в зависимости от результата.

Вы должны попытаться что-то сделать, вернуться и задать более конкретный вопрос, если у вас есть проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...