Робота з cookie в php

Відео: PHP Start | Теорія: Урок 9. Cookie

Робота з cookie в PHP

Відео: 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 доводиться дуже часто, і я постараюся в наступних статтях закріпити Ваші знання про них.

Поділися в соціальних мережах:

Схожі
Обробка форми в phpОбробка форми в php
Localstorage. Локальна пам`ять на html5.Localstorage. Локальна пам`ять на html5.
Як працювати з сховищами з використанням basil.js.Як працювати з сховищами з використанням basil.js.
Cookie catsCookie cats
Відправка cookie через curlВідправка cookie через curl
Як заблокувати користувача на сайтіЯк заблокувати користувача на сайті
Як відправити referer через curlЯк відправити referer через curl
Як дізнатися браузер користувача в jаvascriptЯк дізнатися браузер користувача в jаvascript
Синій екран смерті 0x000000f7Синій екран смерті 0x000000f7
Як користуватися curlЯк користуватися curl
» » Робота з cookie в php