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

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

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

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; Немного модифицируем наши скрипты и проверим их работу.

Скрипт 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: https://bezramok-tlt.ru
    * PHP сессия
    */
    
    //Запускаем механизм сессии
    session_start();
    
    //Выводим данные
    echo $_SESSION['str']   ;
?>
Все работает, в обоих скриптах выводится одна и таже информация.

Теги
Поддержи проект:

No-name
NiceWeb
Автор статей не зря старается. Делайте и дальше, обязательно!!!  Рекомендую написать на тему безопасности скриптов - благодатная тема, целый огромный раздел получится. Очень мало внимания этому уделяется... СПасибо большое за статьи!

05/02/2016 21:24:59

Администрация
Администрация

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

09/02/2016 14:24:06


Copyright © 2014 - 2024 All rights reserved.