60 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | ||
| title: Sessions
 | ||
| localeTitle: сессии
 | ||
| ---
 | ||
| ## сессии
 | ||
| 
 | ||
| Сессии - это функция PHP, которая позволяет хранить сервер данных на стороне пользователя. Когда сеанс настроен, устанавливается cookie-браузер браузера, который идентифицирует пользователя на PHP, поэтому PHP знает, к каким переменным на стороне сервера требуется доступ.
 | ||
| 
 | ||
| ### Начало сеанса
 | ||
| 
 | ||
| На каждой странице, к которой вы хотите получить доступ к сеансу, необходимо запустить (или загрузить) сеанс. Для этого запустите функцию `session_start()` которая загружает систему сеансов PHP.
 | ||
| 
 | ||
| ```PHP
 | ||
| <?php 
 | ||
|  session_start(); 
 | ||
| ```
 | ||
| 
 | ||
| Обратите внимание, что при использовании сеансов на основе файлов cookie необходимо вызывать session\_start () перед выводом чего-либо в браузер. все остальное приведет к ошибке.
 | ||
| 
 | ||
| ### Доступ и установка данных на сеансе
 | ||
| 
 | ||
| Переменная `$_SESSION['key']` - это особый тип массива (с помощью cookie браузера для определения того, для какой сессии требуется доступ).
 | ||
| 
 | ||
| В приведенном ниже примере вы видите, что тема выбора пользователя выбрана для темы номер один.
 | ||
| 
 | ||
| ```PHP
 | ||
| <?php 
 | ||
|  session_start(); 
 | ||
|  $_SESSION['themechoice'] = 1; 
 | ||
| ```
 | ||
| 
 | ||
| Доступ к переменной сеанса аналогичен настройке. Просто включите переменную, в которой она должна быть доступна. Например, повторите это, как показано в приведенном ниже примере кода.
 | ||
| 
 | ||
| ```PHP
 | ||
| <?php 
 | ||
|  session_start(); 
 | ||
|  echo $_SESSION['themechoice']; 
 | ||
| ```
 | ||
| 
 | ||
| ### Удаление сеанса
 | ||
| 
 | ||
| Чтобы удалить сеанс из системы, запустите следующий код PHP. Он отключит переменные сеанса и удалит их из системы.
 | ||
| 
 | ||
| ```PHP
 | ||
| <?php 
 | ||
|  session_unset(); 
 | ||
|  session_destroy(); 
 | ||
| ```
 | ||
| 
 | ||
| ### Сессии временны
 | ||
| 
 | ||
| Важно не рассматривать сеанс как постоянное хранилище. Они время от времени очищаются разработчиком, когда приложение перемещается на новый хост-сервер, самим приложением (например, кнопкой выхода) и даже во время обслуживания сервера. Для долговременного хранения данных обязательно используйте базу данных.
 | ||
| 
 | ||
| ### Безопасность
 | ||
| 
 | ||
| Последнее, но не менее важное, важно безопасно использовать сеансы php. Прочтите нашу статью о [приобретении идентификатора сеанса](/php/security/session-identifier-acquirement) и [захвате](/php/security/session-identifier-acquirement) [сеанса](/php/security/session-hijacking) для получения дополнительной информации.
 | ||
| 
 | ||
| #### Дополнительная информация:
 | ||
| 
 | ||
| *   [Руководство пользователя php.net](https://secure.php.net/manual/en/book.session.php) |