Робота з cookie в php
Відео: PHP Start | Теорія: Урок 9. Cookie
Відео: PHP Рівень 1. Урок 5. Cookies та сесії
Cookie - це набір даних, який створюється Web-сервером і який відсилається при кожному зверненні до сервера. Cookie зберігаються в браузері користувача. Як правило, cookie використовується для: збереження різних налаштувань, унікальних для користувача, аутентифікації користувача, різної статистики та інших подібних речей. І про роботі з cookie в PHP ми і поговоримо в цій статті.
Почнемо з найпростіших речей: з записи cookie в браузер користувача. Для цього існує функція setcookie ():
lt ;?php
setcookie("Name","Value") -
?gt;
Після запуску скрипта, Ви зможете подивитися cookie. Подивитися їх можна в такий спосіб: або пошукати в настройках браузера, або пошукати прямо на жорсткому диску, де зберігаються cookie Вашого браузера, або (найпростіший спосіб) ввести в адресному рядку: "jаvascript: document.cookie". Тільки вводите в тій же вкладці, в якій Ви запускали скрипт, тому що браузери відокремлюють cookie одного сайту від іншого.
Відео: [PHP] Кукі і сесії (Урок 26)
Тепер постає питання: "Як вивести cookie?". Виводять вони з допомогою масиву $ _COOKIE:
lt ;?php
echo $ _COOKIE["Name"] -
?gt;
В результаті, Ви побачите "Value". Як бачите все елементарно.
І давайте зараз з Вами вирішимо таку задачу: якщо користувач авторизований на сайті, то привітатися з ним, інакше вивести форму входу. Причому, якщо дані, введені в форму, неправильні, то вивести відповідне попередження. Реалізація виглядає наступним чином:
lt ;?php
function showForm(){
$ string =""-
return $ string-
}
function check($ login, $ pass){
if(($ login =="Admin")($ pass == md5("123456")))returntrue-
elsereturnfalse-
}
if(isset($ _POST[`Log`])){
$ login = $ _POST[`Login`] -
$ pass = md5($ _POST[`Pass`]) -
if(check($ login, $ pass)){
setcookie("Login", $ login) -
setcookie("Pass", $ pass) -
}
else echo "Невірні данні"-
}
?gt;
lt ;?php
$ login = $ _COOKIE[`Login`] -
$ pass = $ _COOKIE[`Pass`] -
if(check($ login, $ pass)) echo "Здрастуйте, $ login"-
else echo showForm() -
?gt;
Код досить прозорий, однак, цю статтю можуть читати і новачки, тому давайте цей код розберемо більш детально. Спочатку ми пишемо дві функції: одна для виведення форми входу, а друга функція повертає true, якщо дані коректні (тобто, якщо логін - "Admin", А пароль ;"123456"), Інакше повертає false. Зверніть увагу на $ _SERVER [ "SCRIPT_NAME"]. Дана константа містить шлях до поточного файлу. Тобто ми хочемо, щоб обробник форми (значення атрибута action) Був цей же файл.
Далі ми перевіряємо: чи була відправлена форма (чи існує передане значення "log"). Якщо існує, значить, форма була відправлена і починаємо перевіряти отримані дані. Зверніть увагу, що пароль ми пропускаємо через функцію md5 (), щоб не зберігати пароль в cookie у відкритому вигляді. використовуючи функцію check () ми перевіряємо: чи правильні дані. Якщо дані вірні, то записуємо їх в cookie, інакше виводимо рядок: "Невірні данні".
Далі ми починаємо виводити HTML-теги. Зверніть увагу, що ми не можемо використовувати функцію setcookie () після того, як вивели щось в браузер. Тобто не можна, наприклад, вивести HTML-теги, а потім скористатися функцією setcookie (), інакше виникне помилка. І, повірте, її дуже багато новачків допускають.
Відео: PHP Start | Теорія: Урок 10. Сесії
після виведення HTML-тегів ми приходимо до моменту, коли треба перевіряти cookie. Ми зчитуємо їх, а потім перевіряємо. Якщо вони вірні, то вітаємося з користувачем, інакше виводимо форму входу.
Ось і весь скрипт, як бачите, розібратися можна. Однак, він має одну ваду, пов`язаний з тим, що ми виводимо "Невірні данні"До тега"". Тому домашнє завдання: виправити цю помилку, щоб не було порушення валідності HTML-коду. Зробити це дуже просто, проте, буде вкрай корисно, так як Вам доведеться розібратися в цьому коді, а, отже, розібратися з тим, як працювати з cookie в PHP. А використовувати cookie в PHP доводиться дуже часто, і я постараюся в наступних статтях закріпити Ваші знання про них.
- Cookie cats
- Синій екран смерті 0x000000f7
- Як зробити систему рефералів на php
- Як визначити часовий пояс
- Як дізнатися браузер користувача в jаvascript
- Як користуватися curl
- Як очистити куки браузера (cookie)?
- Як працювати з сховищами з використанням basil.js.
- Як заблокувати користувача на сайті
- Як відправити referer через curl
- Як включити cookies в яндекс браузері
- Як зробити реєстрацію та авторизацію користувачів на сайті
- Статистика відвідувань на php
- Відправка cookie через curl
- Обробка форми в php
- Робота з cookie через jаvascript
- Видалення тимчасових файлів і файлів cookie в браузерах. Очищення дискового кеша
- Продовження часу життя сесії в php
- Різниця між cookie і сесіями
- Ccleaner: чистимо систему від сміття
- Сесії в php