PHP сессия – это механизм позволяющий передавать данные между скриптами не связанными друг с другом. Каждая сессия имеет свой уникальный номер (SID). SID генерируется индивидуально у каждого пользователя при старте скрипта. Сессии хранятся на стороне сервера и благодаря SID в них можно хранить информацию для конкретного пользователя. Сессии позволяют обмениваться данными между скриптами. Характерным примером данного обмена является скрипт Captcha для проверки ботов, а также авторизация пользователей на сайте.
Определим переменную в скрипте test1.php и зададим ей значение. Затем выведем, что у нас в переменной.
<?php
/**
* Фаил test1.php
* Site: https://bezramok-tlt.ru
* PHP сессия
*/
$str = 'Привет друг!';
echo $str .'<br>';
echo '<a href="test2.php">test2.php</a>';
?>
Теперь нам нужно чтобы в скрипте test2.php появились эти данные. Попробуем здесь вывести нашу переменную. Как и следовало ожидать, ничего на экране не появилось.
<?php
/**
* Фаил test2.php
* Site: https://bezramok-tlt.ru
* PHP сессия
*/
//Выводим данные
echo $str;
?>
Все правильно ведь между скриптом test1.php и test2.php нет коммуникации для обмена информацией. На помощь нам придет PHP сессия. Чтобы все сработало нужно в начале каждого скрипта запустить сессию session_start();. Тем самым мы создаем коммуникацию между скриптами, чтобы они могли оперировать одинаковыми данными. Чтобы обратиться к данным сессии нужно использовать супер глобальный массив $_SESSION; Немного модифицируем наши скрипты и проверим их работу.
<?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>';
?>
<?php
/**
* Фаил test2.php
* Site: https://bezramok-tlt.ru
* PHP сессия
*/
//Запускаем механизм сессии
session_start();
//Выводим данные
echo $_SESSION['str'] ;
?>
Все работает, в обоих скриптах выводится одна и таже информация.
05/02/2016 21:24:59