В этом разделе обсуждаются основы регистрации, отмены регистрации и работы с сеансовыми переменными в РНР. Важно заметить, что манипулирование сеансовыми переменными с помощью представленных здесь функций, таких как session_register(), session_unregister() и session_is_registered(), возможно только при активной директиве register_globals. Если эта директива не активна (что рекомендуется), то всеми сеансовыми переменными нужно манипулировать с использованием суперглобального массива $_SESSION. сеанса В РНР существует три основных способа создания сеанса. Первый метод заключается в прямом указании РНР начать сеанс, используя функцию session_start (). Эта функция не принимает параметров и не возвращает значения. Когда эта функция вызывается, все переменные, ассоциированные с этим сеансом, реконструируются. Второй подход заключается в вызове функции session_readonly (), используемой вместо session_start () . В данном случае все сеансовые переменные создаются заново; при этом любые изменения переменных по окончании выполнения сценария не сохраняются.
НА ЗАМЕТКУ В РНР сеансы работают с переменными внутри глобальной области. Это означает, что для регистрации переменной в функции, эта переменная должна быть объявлена как глобальная с помощью оператора global. Более того, РНР реконструирует переменные только внутри глобальной области.
Как уже было сказано, в РНР доступны три способа запуска сеанса внутри РНР-сценария. Третий способ предусматривает регистрацию переменной с помощью функции session_register ().