Сесії в php
сесії - це механізм, що дозволяє зберігати певні дані на сервері, унікальні для кожного користувача. Особливо уважні читачі знайдуть схожість з cookie. І, в цілому, це одне й те саме. Однак, ключовий момент: дані зберігаються не в браузері користувача, а в спеціальному файлі на сервері, ім`я якого унікально для кожного користувача. А унікальний ідентифікатор сесії PHP зберігається вже в cookie.
Давайте з Вами попрацюємо з сесіями в PHP. І почнемо з функції session_start (). Ця функція робить наступне: якщо користувач зайшов вперше, то створює унікальний ідентифікатор і записує його в cookie, а також створює новий файл, знову унікальний для користувача. Якщо користувач вже заходив, то тоді сервер зчитує значення унікального ідентифікатора з cookie і, відповідно до нього, звертається до потрібного файлу сесії. З цього файлу PHP зчитує всю інформацію про і поміщає їх в масив $ _SESSION. Давайте напишемо простий код, в якому ми записуємо змінну в сесію, або зчитуємо, якщо вона вже була записана.
Відео: Розумне використання сесій в PHP
lt ;?php
session_start() -
if(isset($ _SESSION[`Name`])) $ name = $ _SESSION[`Name`] -
else $ _SESSION[`Name`]="15St"-
echo $ name-
?gt;
Спочатку ми викликаємо функцію session_start (), яку я описав вище. Потім перевіряємо: чи існує змінна "name"В сесії. Якщо існує, то зчитуємо з неї дані і записуємо в змінну name. Якщо не існує (тобто користувач прийшов в перший раз), то встановлюємо змінної "name"В сесії значення"15St.". Наступним рядком виводимо значення змінної $ name. Очевидно, що при першому запуску, Ви побачите порожню рядок, а ось при другому побачите рядок "15St.", Зчитану з сесії.
Відео: Уроки PHP 7 | Сесії в php. Як працювати з сесіями
Раджу Вам зараз ввести в адресному рядку: "jаvascript: document.cookie"(Вводите на тій же вкладці, що і запускали скрипт). В результаті, Ви побачите приблизно наступне:"PHPSESSID = f99c53cca398f756fa958e8cee2136bc". Як раз значення PHPSESSID і є тим самим унікальний ідентифікатор.
І щоб все стало зовсім зрозуміло, то раджу навіть знайти файл сесії. Якщо Ви використовуєте Denwer, то він лежить в папці "tmp". Подивіться на файли, які починаються на"sess_"- це і є ті самі файли сесії. Ви можете їх відкрити в простому блокноті.
Відео: دورة PHP: الدرس 24 (الجلسات Session)
Ще одне дуже важливе властивість - це тимчасовість сесій в PHP. те якщо cookie зберігаються до тих пір, поки їх не видалить браузер. А браузер їх за замовчуванням не видаляє ніколи. Те сесії зберігаються час, заданий в настройках PHP. За замовчуванням, це 15 хвилин. Тобто якщо Ви будете використовувати аутентифікацію на основі сесії, то через 15 хвилин бездіяльності користувача, йому знову доведеться авторизуватися. Зрозуміло, це добре, тому що якщо користувач забуде "вийти", То нічого поганого не трапиться. Зловмисник не зможе скористатися профілем користувача. Більш того, при використанні cookie їх можна викрасти, підставити в своєму браузері, і в результаті зловмисник авторизований під чужими даними, не знаючи навіть пароля. А сесію вкрасти не вийде, так як всі параметри зберігаються на сервері, і дізнатися про них не вийде.
Тому намагайтеся в своїй практиці переважно використовувати сесії, а не чисті cookie.
І, наостанок, хочеться попередити про дуже частою помилку. Ніколи не виводьте дані в браузери до використання функції session_start (), інакше вона видасть помилку. Тобто не можна писати ось так:
lt ;?php
echo "Hello"-
session_start() -
?gt;
При запуску даного скрипта виникне помилка. Те ж саме правило діяло і з cookie (функція setcookie ()). Так що, думаю, тут все зрозуміло.
Щодо сесій в PHP, то, зрозуміло, їх можна використовувати для зберігання даних про статистику, аутентифікації, особистих налаштувань користувача та інших аналогічних речей.
- Logoff - завершення сеансу користувача windows.
- Як зробити систему рефералів на php
- Як визначити часовий пояс
- Як зробити тестування на сайті
- Як заблокувати користувача на сайті
- Як зробити реєстрацію та авторизацію користувачів на сайті
- Як зробити сторінку користувача
- Статистика відвідувань на php
- Відправка cookie через curl
- Group by в sql
- Обробка форми в php
- Робота з cookie через jаvascript
- Can not modify header information - headers already sent
- Робота з cookie в php
- Робота з файлами в php
- Змінні оточення в linux
- Капча на php
- Php: безпека. Зберігання даних в cookies.
- Продовження часу життя сесії в php
- Різниця між cookie і сесіями
- Localstorage. Локальна пам`ять на html5.