Сеанс представляет собой способ хранения информации (in variables) , которые будут использоваться на нескольких страницах.
В отличие от печенья, информация не хранится на компьютере пользователя.
Что такое PHP Session?
При работе с приложением, вы откроете ее, сделать некоторые изменения, а затем закройте его. Это очень похоже на сессии. Компьютер знает, кто ты. Он знает, когда вы запустите приложение и при завершении. Но в Интернете есть одна проблема: веб-сервер не знает, кто вы и что вы делаете, так как адрес HTTP не поддерживает состояние.
Переменные сеанса решить эту проблему путем хранения информации о пользователях , которые будут использоваться на нескольких страницах (eg username, favorite color, etc) , (eg username, favorite color, etc) и (eg username, favorite color, etc) . По умолчанию переменные сессии, пока пользователь не закроет браузер.
Так; Переменные сеанса содержат информацию об одном пользователе, и доступны для всех страниц в одном приложении.
Совет: Если вам нужно постоянное хранение, вы можете хранить данные в базе данных .
Запуск PHP сессии
Сессия началась с session_start() функции.
Переменные сеанса задаются с помощью глобальной переменной PHP: $ _SESSION.
Теперь, давайте создадим новую страницу под названием "demo_session1.php" . На этой странице, мы начинаем новый PHP сессии и установить некоторые переменные сессии:
пример
<?php
// Start the session
session_start();
?>
<!DOCTYPE
html>
<html>
<body>
<?php
// Set session
variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"]
= "cat";
echo "Session variables are set.";
?>
</body>
</html>
Выполнить пример » Note: session_start() функция должна быть самой первой вещью в вашем документе. Перед любой HTML-теги.
Получить PHP Session значений переменных
Далее мы создаем еще одну страницу под названием "demo_session2.php" . На этой странице мы будем получать доступ к информации о сеансе связи мы установили на первой странице ("demo_session1.php") .
Обратите внимание , что переменные сеанса не передается индивидуально для каждой новой страницы, вместо этого они извлекаются из сеанса мы открываем в начале каждой страницы ( session_start() ).
Также обратите внимание, что все значения переменной сеанса сохраняются в глобальной переменной $ _SESSION:
пример
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// Echo session variables that were set on previous
page
echo "Favorite color is " . $_SESSION["favcolor"]
. ".<br>";
echo "Favorite animal is " . $_SESSION["favanimal"]
. ".";
?>
</body>
</html>
Выполнить пример » Другой способ показать все значения переменных сеанса для сеанса пользователя, чтобы запустить следующий код:
пример
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
print_r($_SESSION);
?>
</body>
</html>
Выполнить пример » Как это работает? Как он знает , что это я?
Большинство сессий устанавливается пользователем клавиши на компьютере пользователя, который выглядит примерно так: 765487cf34ert8dede5a562e4f3a7e12. Затем, когда сеанс открыт на другой странице, он сканирует компьютер на наличие пользовательского ключа. Если есть совпадение, он обращается к этой сессии, если нет, то она начинает новый сеанс.
Изменение переменной PHP Session
Чтобы изменить переменную сессии, просто переписать его:
пример
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
//
to change a session variable, just overwrite it
$_SESSION["favcolor"] =
"yellow";
print_r($_SESSION);
?>
</body>
</html>
Выполнить пример » Уничтожьте PHP сессии
Для того, чтобы удалить все глобальные переменные сессии и уничтожить сессию, используйте session_unset() и session_destroy() :
пример
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
//
remove all session variables
session_unset();
// destroy the
session
session_destroy();
?>
</body>
</html>
Выполнить пример »