Что такое сессии

Прежде чем перейти к серьезным вопросам. Я решил заполнить несколько пробелов. В данном случае их два. Это сессии и cookie. Во многих серьезных проектах без этих вещей просто не обойтись. Значит мы должны знать, зачем и как это использовать.
Начну с сессий.

Session или сеанс, позволяет серверу определить пользователя с помощью специального номера, который уникален и назначается при работе пользователя с сервером. Кроме того, сессии позволяют связывать переменные с этим пользователем и хранить эти переменные на сервере. Другими словами сессии позволяют делать переменные глобальными для нескольких разных скриптов.

Чтобы начать сессию надо создать её с помощью функции session_start(). Кстати, если вы хотите, чтобы данные, которые генерируется сессиями были доступны на всех страницах. На каждой необходимо открыть сессию.

Когда я решил покрутить механизм сессий. То сделал в скрипте следующее.

<?php
...
интересный код
...
session_start();
?>

И у меня выскакивала ошибка. Оказывается, что сессию необходимо объявлять в самом начале программы. То есть:

<?php
session_start();
...
интересный код
...

?>

Еще одним замечательным свойством сессий является то, что они могут создавать переменные.

Делается это очень просто.
$_SESSION[‘имя переменной’] = value;

Если вы хотите удалить переменную, то воспользуйтесь следующей функцией:
unset($_SESSION[‘имя переменной’])

Переменная созданная с помощью сессии будет храниться на сервере в файле с именем, совпадающим с идентификатором сеанса. Кстати… уникальный идентификатор создается для каждого пользователя, который присваивается переменной $PHPSESSID.

Так же этот идентификатор можно получить от функции session_id:
$mysid = session_id();

Кстати говоря, этой же функцией можно его и изменить:
$mysid = ‘1234567’;
Session_id($mysid);

Я сделал небольшой пример, который покажет для чего можно применять сессии.

index.php

<?php
error_reporting(0);
session_start();
$_SESSION['flag'] = good;
?>
<html>
<head>
  <title>тестируем сессии</title>
</head>
<body>
зайти на супер секретную страницу
</body>
</html>

obrabotka_session.php

<?php
error_reporting(0);
session_start();
if ($_SESSION['flag'] == good)
{
    ?>
    <html>
    <head>
      <title>тестируем сессии</title>
    </head>
    <body>
        теперь вам открыты тайны сессий в php
    </body>
    </html>
<?
}
else echo"здесь ничего нет";
?>

Как видно здесь используются сессии для защиты от несанкционированного доступа.
Если вы откроете браузер и сразу наберете https://localhost/obrabotka_session.php
То увидите не то, что хотелось 😉

Если вы закроете страничку с объявленной сессией, то сессия автоматически уничтожится. И зайдя вновь, вы будете для сервера новым пользователем. Если нужно уничтожить сессию, не дожидаясь закрытия браузера, то можно воспользоваться функцией session_destroy().

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





Читайте также:



Один ответ на “Что такое сессии”

  1. Интерестно, а с безопастностью нет проблем при испольовании сессий.


© Copyright. . I-Novice. All Rights Reserved. Terms | Site Map