popov . dev

Главная

Библиотека

Статьи

Использование се...

Использование сессий в PHP

Что такое сессии? Сессия - это еще один способ временного хранения данных для использования на страницах ваших сайтов. До тех пор, пока вы не отменили или не уничтожили сеанс, данные будут сохранены; Вы можете покинуть веб-сайт и вернуться обратно, и те же данные по-прежнему будут доступны на той же странице.

Важный вопрос, зачем использовать Сессии? Например, с помощью сессий можно написать код таким образом, чтобы, когда пользователь закрывает браузер без выхода из системы, ваша информация оставалась сохраненной на этой странице.

Наиболее распространенным и очевидным применением сессий является создание страниц входа в систему: если пользователь не входил в систему, он видит одну страницу (например, экран "Пожалуйста, войдите"). После того, как пользователь вошел в систему, он видит другую страницу (например, информацию о своей учетной записи).

Сессии отслеживают, вошел ли пользователь в систему или нет.

Сессии или файлы Cookie?

Подобно файлам cookie, сеанс - это способ хранения данных. Однако, в отличие от файлов cookie, эти данные не хранятся на компьютере пользователя. Обычно мы используем сеансы для получения временной информации, срок действия которой не должен истечь по прошествии определенного времени. Сессия останется в браузере, даже если вы закроете браузер.

Сеансы более безопасны, чем файлы cookie, поскольку их данные хранятся на стороне сервера. Выбрать или обновить данные сеанса непросто, поэтому часто мы храним более конфиденциальные данные в сеансах, а не в файлах cookie.

Запуск сессии

Чтобы начать доступ к данным вашего сеанса, вам необходимо запустить функцию session_start(). Выполнение этой функции позволит вам получить доступ к переменным вашего сеанса.

Переменные сеанса задаются с помощью глобальной переменной под названием $_SESSION (напомним, что глобальные переменные - это переменные, доступные на каждой странице веб-сайта).

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

<?php
$_SESSION["name"] =value;
Name = session variable name.
Value = session variable value.
?>

Значения переменных Session PHP-сессий

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

Для начала создайте файл с именем session_demo_one.php.

<?php
    // Запуск нашей сессии
    session_start();
?>
<!DOCTYPE html>
<html>
    <body>
        <?php
            // Ниже мы задаем переменные нашего сеанса
            $_SESSION["favcolor"] = "red";
            $_SESSION["favanimal"] = "rabbit";
            echo "Мы установили две переменные сеанса, и их значениями являются red и rabbit";
        ?>
    </body>
</html>
Примечание: убедитесь, что функция session_start() находится над всеми вашими HTML-тегами.

Убедитесь, что вы не повторяете какую-либо переменную $_SESSION перед запуском функции session_start(), иначе это приведет к ошибке.

Получение значений переменных сеанса PHP

Далее давайте создадим другой файл с именем session_demo_two.php. На этой странице мы получим доступ к переменным сеанса, которые мы задали в session_demo_one.php. Добавьте в этот файл следующий код:

<?php
    // Запуск нашей сессии
    session_start();
?>

<!DOCTYPE html>
<html>
    <body>
        <?php
            // Ниже мы задаем переменные нашего сеанса
            echo "Значение $_SESSION['favcolor']: ".$_SESSION["favcolor"];
            echo "Значение $_SESSION['favanimal']: ".$_SESSION["favanimal"];
        ?>
    </body>
</html>

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

Просто запустив функцию session_start(), вы можете получить доступ к тем же переменным сессии, которые вы задали на предыдущей странице.

Обратите внимание, что мы получаем доступ к переменным нашего сеанса, используя глобальную переменную $_SESSION.

Вы также можете получить доступ ко всем переменным вашего сеанса с помощью функции print_r().

<?php
    // Start our session
    session_start();
?>
<!DOCTYPE html>
<html>
    <body>
        <?php
            print_r($_SESSION)
        ?>
    </body>
</html>

Изменение переменной сеанса

Вы можете переопределить переменную сеанса точно так же, как вы переопределяете обычную переменную. Далее создаем файл страницы с именем session_demo_three.php и добавим следующий код:

<?php
    session_start();
?>
<!DOCTYPE html>
<html>
    <body>
        <?php
            $_SESSION['favcolor']='black'
        ?>
    </body>
</html>

Если вы вернетесь к session_demo_two.php, значение $_SESSION[‘favcolor’] будет равно black.

Завершение сессии

Если вы больше не хотите сохранять информацию, вам следует завершить сеанс. Чтобы завершить сеанс, вы должны удалить все переменные сеанса. Обычно это происходит когда пользователь хочет выйти из системы.

Чтобы стереть все данные сеанса, вы можете использовать два различных метода. Следует использовать метод session_destroy().

<?php
    session_start();
?>
<!DOCTYPE html>
<html>
    <body>
        <?php
            // уничтожает сессию 
            session_destroy(); 
        ?>
    </body>
</html>

Однако в качестве дополнительной меры предосторожности вы можете сначала установить для всех переменных sessions значение NULL, прежде чем использовать session_destroy().

Комментарии

Для того чтобы оставить свое мнение, необходимо зарегистрироваться на сайте