Главная Мой профиль Регистрация Выход Вход
Вт
17.10.2017
08:55
Приветствую Вас Гость | RSS ВходРегистрацияГлавная
Поиск
Друзья сайта
Опрос
Сколько вам лет?
1. 13-15
2. 16-18
3. 22-29
4. 19-21
5. от 30 и более
6. до 12
Всего ответов: 579
Статистика




Онлайн всего: 1
Гостей: 1
Пользователей: 0



Главная » Уроки » Уроки PHP

Урок 12. Сессии.
______________________ 
УРОК 12. Сессии. 
______________________
 


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

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

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

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

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


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

$_SESSION['name'] = "value"; 

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

Код первой страницы: 

session_start();
 // открываем сессию. 
$_SESSION['name'] = "Андрей"; // записываем в массив сессии значение. 
echo " Перейти на следующую "; // выводим ссылку на вторую страницу. 
?> 

Код второй страницы: 

session_start();
 // т.к. сессия уже есть, то PHP просто загружает из неё все значения переменных. 
echo $_SESSION['name']; // выводим значение, которое записали на предыдущей странице. 
?> 
Вот и всё. Теперь записанное нами значение будет доступно на всех страницах в которых указано session_start(); 
Закрытие сессии.

Для удаления какой-либо переменной сессии подходит уже изученная нами функция unset()
unset($_SESSION['name']); 
Для разрушения всей сессии используют функцию session_destroy()
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 | Добавил: JUMP (22.05.2011)
Просмотров: 1860 | Теги: сессии, php session, сессии php | Рейтинг: 0.0/0


Форма входа
Логин:
Пароль:
Меню сайта
Категории
Класс 1
Здесь учат самым элементарным вещам. Этот уровень необходимо посетить тем, кто ещё плохо ориентируется в компьютерах.
Класс 2
Здесь даются основные навыки хакерства. Этот класс для тех кто давно на "ты" с компьютерами, изучил винду вдоль и поперёк, а потом устал просто так сёрфить по инету и решил научится ещё чему-нибудь ;)
Уроки PHP
Мини-уроки php by JUMP
Мини-чат
    Все материалы на сайте предоставлены исключительно в ознакомительных целях.
     Администрация не несет никакой ответственности за последствия их использования.