Я немного запутался в том, что идентификаторы сессий в PHP на самом деле, и для чего они полезны. Я кодирую сайт с информацией о пользователе, регистрируюсь и авторизируюсь. В руководствах по сценариям входа в PHP многие люди включают session_start (). Они также проверяют, совпадает ли текущий идентификатор сеанса с тем, что хранится в базе данных для пользователей (сохраняется во время входа в систему), и, если они этого не делают, выходят из системы пользователя (перенаправляют на страницу входа, устанавливая заголовок).
Что именно является функцией / полезностью идентификаторов сеансов? И как мне включить их в мой сценарий входа в систему без создания цикла перенаправления?
Спасибо за любую помощь.
Вкратце, идентификатор сеанса идентифицирует браузер.
Поскольку сам http не имеет состояния, каждый запрос, например загрузка страницы, не зависит от предыдущего запроса.
Чтобы преодолеть это обстоятельство, вы используете session_start (), чтобы указать веб-серверу отправлять cookie в браузер, или, если cookie существует, сообщить php текущий идентификатор сеанса, который был ранее сохранен в cookie.
Идентификатор сеанса сам по себе представляет собой случайно сгенерированную уникальную строку, которая используется только для отслеживания, если браузер уже известен серверу.
Если кто-то посещает сайт в первый раз, он работает так:
Отныне с каждым последующим запросом браузер отправляет свой идентификатор сессии из куки. В этом случае phps session_start () подхватывает его, проверяет, существует ли этот идентификатор сеанса и, если да, делает его доступным для вашего скрипта.
PHP хранит, обычно в файлах на сервере, переменные «внутри сеанса». Это означает, что через $ _SESSION [‘somevalue’] вы можете получить и установить значения, например, $ _SESSION [‘logged_in’], указывающий, вошел ли пользователь в систему.
Вся эта задача отправки соответствующего заголовка в браузер для установки cookie, чтения заголовка из запроса, сохранения переменных в файле, который назван в честь идентификатора сеанса, для вашего удобства заключена в session_start ().
Хранение идентификатора сеанса в базе данных полезно, если по какой-то причине вы не хотите использовать PHP по умолчанию, который хранит их в текстовые файлы.
В Интернете есть много обучающих программ о том, как создать форму входа с помощью сессий и php. Может быть, этот урок вам нравится.
Принцип всегда один и тот же:
Если до сих пор не ясно, сеанс — это только способ запомнить материал для одного браузера между двумя разными страницами. (с помощью $ _SESSION)
Других решений пока нет …