пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ


14.  Призначення підсистеми підтримки сеансів у мові програмування РНР.

Протокол HTTP дуже часто називають "протоколом без стану". Це означає, що даний протокол не має вбудованого методу підтримки стану між двома транзакціями клієнт-сервер. Якщо, наприклад, користувач запитує одну веб-сторінку, а потім другу, то за допомогою протоколу HTTP серевер не може встановити чи це були запити від різних користувачів, чи від одного і того самого.

Ідея підтримики сеансів заключається в забезпеченні відслідковування користувача на протязі одного сеансу зв'язку із веб-сайтом. Це допомогає реалізувати реєстрацію та авторизацію на сайті, а також, наприклад, кошик покупця у інтернет-магазині.

На мові PHP данна ідея реалізується декількома способами, найпоширенішими з яких є методи сесій та файлі cookie.

Метод сесій

Змінна сесії є спеціальним типом змінної, значення якої зберігається при переході між послідовними веб-сторінками. За допомогою цих змінних можна зберігати специфічні дані про користувача при переході зі сторінки на сторінку, представляючи йому індивідуальний контент. 
Ці змінні, зазвичай, існують до тих пір, поки не буде виконана одна з подій:
- користувач закриє браузер.
- по закінченню максимального інтервалу часу сесії на сервері.
- буде використана функція PHP, для вивільнення усіх змінних сесії.

Система РНР має ряд можливостей для підтримки сесій. Все починається із введення глобальної змінної $_SESSION[] та використання функцій session_start() і session_destroy().

$_SESSION[] - це суперглобальний масив РНР, який містить зареєстровані в даний момент змінні сеансу сценарію.

session_start() - функція для ініціалізації даних сеансу. Вона викликається перед створенням нової змінної сесії.

session_destroy() - руйнує всі дані, які були записані для поточної сесії, тобто видаляє всі значення змінних сесії та спустошує масив $_SESSION[].

session_id() - ще одна функція системи, яка дозволяє отримати значення індентифікатора поточної сесії.


Метод cookie

Файл cookie - це повідомлення від браузера адресоване веб-серверу. При початку сеансу сервер генерує файл cookie і відправляє його браузеру, який зберігає його у текстовому файлі. Браузер відправляє цей файл серверу кожен раз, як запитує в нього веб-сторінку. Тоді сервер на основі даних з cookie генерує індивідуальну сторінку для клієнта і може дати доступ до індивідуальних даних.

На мові РНР файли cookies створюються за допомогою функції setcookie(), а усі дані зберігаються у глобальній змінній $_COOKIE.

Аргументи функції setcookie(name,value,expiration,path,domain,security) визначають вміст файлу cookie.

name - ім'я cookie.
value -  значення cookie, яке зберігається на клієнті (коли отримує FALSE, то дія файлу cookie завершується)
expiration - час придатності cookie (якщо значення відсутнє, то завершаються при закритті браузера).
path - вказують шляхи доступу сервері, для яких дійcний файл cookie
domain - домен, в якому доступний файл cookie
security - вказує чи буде файл cookie передаватись через захищене з'єднання. 0 - HTTP, 1 - HTTPS.


хиты: 462
рейтинг:0
Точные науки
информатика
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь