Уважаемые друзья, форма вопрос - ответ снова в строю!

PHP работа с сессиями

PHP сессия – это механизм позволяющий передавать данные между скриптами не связанными друг с другом. Каждая сессия имеет свой уникальный номер (SID). SID генерируется индивидуально у каждого пользователя при старте скрипта. Сессии хранятся на стороне сервера и благодаря SID в них можно хранить информацию для конкретного пользователя. Сессии позволяют обмениваться данными между скриптами. Характерным примером данного обмена является скрипт Captcha для проверки ботов, а также авторизация пользователей на сайте.

Рассмотрим пример работы скриптов без использования механизма сессий.

Определим переменную в скрипте test1.php и зададим ей значение. Затем выведем, что у нас в переменной.


<?php
	/**
	* Фаил test1.php 
	* Site: http://bezramok-tlt.ru
	* PHP сессия
	*/
	
	$str = 'Привет друг!';
	
	echo $str .'<br>';
	echo '<a href="test2.php">test2.php</a>';
	
?>

Теперь нам нужно чтобы в скрипте test2.php появились эти данные. Попробуем здесь вывести нашу переменную. Как и следовало ожидать, ничего на экране не появилось.


<?php
	/**
	* Фаил test2.php 
	* Site: http://bezramok-tlt.ru
	* PHP сессия
	*/
	
	//Выводим данные
	echo $str;
?>

Все правильно ведь между скриптом test1.php и test2.php нет коммуникации для обмена информацией. На помощь нам придет PHP сессия. Чтобы все сработало нужно в начале каждого скрипта запустить сессию session_start();. Тем самым мы создаем коммуникацию между скриптами, чтобы они могли оперировать одинаковыми данными. Чтобы обратиться к данным сессии нужно использовать супер глобальный массив $_SESSION; Немного модифицируем наши скрипты и проверим их работу.

Скрипт test1.php


<?php
	/**
	* Фаил test1.php 
	* Site: http://bezramok-tlt.ru
	* PHP сессия
	*/
	
	//Запускаем механизм сессии
	session_start();
	
	$_SESSION['str'] = 'Привет друг!';
	
	echo $_SESSION['str'].'<br>';
	echo '<a href="test2.php">test2.php</a>';
?>

Скрипт test2.php


<?php
	/**
	* Фаил test2.php 
	* Site: http://bezramok-tlt.ru
	* PHP сессия
	*/
	
	//Запускаем механизм сессии
	session_start();
	
	//Выводим данные
	echo $_SESSION['str']	;
?>

Все работает, в обоих скриптах выводится одна и таже информация.

NiceWeb
21:24:59 05/02/2016г.
Автор статей не зря старается. Делайте и дальше, обязательно!!! 

Рекомендую написать на тему безопасности скриптов - благодатная тема, целый огромный раздел получится. Очень мало внимания этому уделяется...

СПасибо большое за статьи!

И Вам спасибо.

- Администрация     - 14:24:06 09/02/2016г.

  • 1

Получить уведомление на Email

Введите код с картинки