PHP сессия для входа на сайт - теоретическая - PullRequest
0 голосов
/ 11 сентября 2018

Сегодня я начал узнавать о сессиях.Наша первая задача - создать небольшой сайт, сайт для входа и сайт для членов.Если вы успешно войдете в систему, вы будете переведены на сайт пользователей.Если вы попытаетесь зайти на сайт участника без входа в систему, вы будете переведены на страницу входа.

Наш учитель хочет, чтобы на каждой странице был запущен контрольный скрипт.Этот скрипт, насколько я понимаю, должен взять то, что я написал в своей форме (форма, в которую я вхожу), и проверить, соответствует ли он пользователю.Если это правильно, сеанс начинается.Меня беспокоит то, что это происходит на каждой странице сайта.Разве это не очень эффективно?Каждый раз, когда пользователь перенаправляет себя, сервер должен обрабатывать информацию для входа снова и снова.

Я изучил сессию и нашел другой способ ведения дел.Каждая страница автоматически начинает сеанс.Когда пользователь входит в систему, сервер проверяет информацию для входа.Если информация верна, переменной сеанса назначается идентификатор пользователя.Когда пользователь переходит на другую страницу веб-сайта, сценарий проверяет, установлен ли этот идентификатор пользователя.Если он установлен, то пользователь вошел в систему, если он не установлен, пользователь не вошел в систему. Если пользователь вышел из системы.Сеанс уничтожен, это означает, что каждая переменная сеанса потеряна.Теперь серверу не нужно обрабатывать одну и ту же информацию для входа в систему каждый раз, когда загружается новая страница.

Допустим ли мой образ мышления?Или есть другие способы сделать это лучше?

1 Ответ

0 голосов
/ 11 сентября 2018

Как работает переменная php $_SESSION.

На каждой отдельной странице вы хотите, чтобы пользователь вошел в систему для просмотра, вам нужно будет включить session_start(); в самом верху страницы.

например, для панели мониторинга потребовался бы вход пользователя в систему для просмотра, вы должны сделать что-то вроде этого:

<?php
   session_start();
   $_SESSION['userID'] = 1; // setting the variable as userID 1

   if (!isset($_SESSION['userID'])) {
      header("Location: ../Login");  // redirects to login page
   } else {
     // do something here if the session is set
   }
 ?>

isset() возвращает 1 или 0, если переменнаявнутри него есть данные

в основном вы должны вызывать информацию пользователя после входа в систему и устанавливать для $_SESSION['userID'] идентификатор пользователя в вашей базе данных

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