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) |