Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Сесії у PHP

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Сохранение та своєчасне відновлення сеансовых переменных В PHP збереження та своєчасне відновлення сеансовых змінних зведено для використання функцій session_encode () і session_decode (). Це зручне, оскільки функція session_encode () формує рядок що можна де був зберегти й надалі розшифрувати функцією session_decode (). Цю рядок зручне зберігати базі даних, бо треба створювати окремі поля… Читати ще >

Сесії у PHP (реферат, курсова, диплом, контрольна)

Сессии в PHP

Сессия — цей час, протягом якого відвідувач перебуває в сайті. Часто виникає потреба у тому, що протягом сеансу користувача супроводжували деякі перемінні. Можна записати ці перемінні в cookie, якщо змінних багато, цей спосіб невідь що зручний. Значно ефективнішим є у такому ситуації є використання сеансовых змінних. Про це та йтиметься в цієї статье.

Механизм роботи сессий

Наверняка вам цікавий механізм роботи сесій. Нічого не скажеш, я розповім. Приміром перед входом на сайт користувачеві присвоюється випадковий ідентифікатор — SID. Він зберігається за комп’ютером користувача в cookie з ім'ям PHPSESSID. Взагалі, це ім'я виставляється в файлі php. ini, але нині йдеться не звідси. Якщо ж у браузері відвідувача відключений прийом cookie, цей ідентифікатор багатозначно чіпляється всім url протягом сесії. Під час створення сесії на сервері створюється файл, ім'я якого збігаються з PHPSESSID. У цьому вся файлі містяться все сеансовые перемінні. Проте сеансовые перемінні як і можуть бути й у базі даних — залежить від конфігурації PHP. За умовчанням ці перемінні зберігаються в файлі у тому дирректории, у якій лежить скрипт, створив сеанс. При зверненні до сеансовой перемінної сервер відкриває (чи робить запит до бази даних) сеансовый файл і шукає там значення потрібної переменной.

Создание сессии

Сессия створюється з допомогою функції session_start (). При виклик вона перевіряє, може бути вже створена сесія. Якщо ні, вона створює сесію. Синтаксис функции:

boolean session_start ();

При створенні сеансу функція спочатку привласнює користувачеві SID, відправляє cookie і це створює файл з сеансовыми перемінними. Дуже легко і удобно.

Уничтожение сессии

Если вас на яким то причин приспічило знищити сесію, то скористайтеся функцією session_destroy (). Синтаксис функции:

boolean session_destroy ();

Эта функція знищує сеансовые перемінні і сеансовый файл (коли ці перемінні в ньому). Зверніть увагу, що цю функцію не знищує cookie з SID на комьютере посетителя.

Создание сеансовых переменных

Ну тепер у тому, навіщо взагалі замислювалася технологія сесій — з приводу створення сеансовых змінних. Це робить функція session_register (). Синтаксис функции:

boolean session_register (mixed name [, mixed …]);

Следует помітити, що цю функцію лише створює сеансовые перемінні, і нічого більше. Присвайвать значення їм довелося б самостійно. Робиться як у з звичайними перемінними. До того ця функція неявно викликає session_start ().Впрочем із наступного прикладу дедалі ясно.

Как дізнатися, була зареєстровано переменная

Это можна почути з допомогою функції session_is_registered (). Синтаксис функции:

booleansession_is_registered (string name);

Первый пример Теперь ви знаєте досить, що користуватися сеансовыми перемінними. За підсумками отриманих знань можна реалізувати, приміром, найпростіший лічильник відвідувань. Він вважати скільки сторінок переглянув користувач за сеанс.

Такой код можна розмістити про всяк сторінці вашого сайта.

Уничтожение сеансовых переменных Сеансовые перемінні знищуються функцією session_unregister () з такою самою успіхом, як і створюються. Синтаксис функции:

boolean session_unregister (string name);

Это може бути корисною у разі, якщо ви непотрібна більше сеансовая змінна і це хочете використовувати її як звичайну переменную.

Изменение/Получение SID.

Получить або змінити поточний сеансовый ідентифікатор легко. Досить скористатися функцією session_id (). Синтаксис функции:

string session_id ([string sid]);

Если передали параметр sid, то сеансовый ідентифікатор змінюється. У протилежному разі функція просто повертає SID.

Сохранение та своєчасне відновлення сеансовых переменных В PHP збереження та своєчасне відновлення сеансовых змінних зведено для використання функцій session_encode () і session_decode (). Це зручне, оскільки функція session_encode () формує рядок що можна де був зберегти й надалі розшифрувати функцією session_decode (). Цю рядок зручне зберігати базі даних, бо треба створювати окремі поля та й обсяг скрипта зменшується. Отже, синтаксис цих фукнций:

boolean session_encode ();

string session_decode (string data);

С першої функцією більш-менш зрозуміло. Натомість другий функції необхідно передати зашифровану функцією session_encode () рядок. Без прикладу сприймається не дуже просто. Давайте розглянемо простенький пример.

Предположим, що сесія вже розпочато й у перемінної $u_id зберігається ідентифікатор пользователя.

Список литературы

Для підготовки даної праці були використані матеріали із сайту internet.

Показати весь текст
Заповнити форму поточною роботою