1. Главная страница » Уроки PHP

Сессии php

Автор: | 06.03.2013

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

Работа с сессиями

Открытие сессии.

session_start(); — эта функция создает сессию. Если сессия уже существует, то она загружает из неё все значения переменных.

Регистрация переменных сессии.

После того как сессия открыта, в неё можно помещать значения:

$_SESSION[‘xxx’] = «любое значение»;

Как видите, сессия представляет собой суперглобальный массив $_SESSION, в котором и хранится вся наша информация. Для того чтобы на следующей странице были доступны значения суперглобального массива $_SESSION, достаточно просто записать: session_start(); в начале страницы. Давайте снова обратимся к нашим страницам (primer.php и page1.php), при переходе с первой на вторую информация не будет теряться, т.к. мы будем использовать сессии.

Код главной страницы: «primer.php»

<?php
session_start(); // открываем сессию.
$_SESSION[‘xxx’] = «Андрей»; // записываем в массив сессии значение.
echo»<a href=’page1.php’>Перейти на следующую</a>»; // выводим ссылку на вторую страницу.
?>

Код второй страницы: «page1.php»

<?php
session_start(); // т.к. сессия уже есть, то PHP просто загружает из неё все значения переменных.
echo $_SESSION[‘xxx’]; // выводим значение, которое находиться в этой сессии.
?>

Вот и всё. Теперь записанное нами значение будет доступно на всех страницах в которых указано session_start();

Закрытие сессии.

Для удаления какой-либо переменной сессии подходит функция unset().

unset($_SESSION[‘xxx’]);

Для разрушения всей сессии используют функцию session_destroy().

Пример:

<?php
session_start();
$age = 32;
$_SESSION[‘username’] = ‘Иван’;
$_SESSION[‘age’] = $age;
unset($_SESSION[‘username’]);
echo $_SESSION[‘username’];// Не выведет ничего
echo $_SESSION[‘age’];// Выведет 32
session_destroy();// Разрушаем всю сессию.
?>

Как работают сессии

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

Если у посетителя включена возможность принимать cookies, то сессия записывается в cookies и при каждом обращении браузер передает значение сессии серверу. Если такая возможность отключена пользователем, то PHP подставляет к каждой ссылке идентификатор сессии, и при переходе между страницами мы видим ссылки типа index.php?PHPSESSID=9ebca8bd62c830d3e79272b4f585ff8f

Это лишь поверхностное знакомства с PHP но этого достаточно для того чтобы знать какие инструменты нужны для решения той или иной задачи. Для того чтобы изучить все возможности PHP воспользуйтесь учебником.

1 2 3 4 5 6
Читайте также:  Арифметические и логические конструкции php

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *