C самого початку поста я припущу, що ви вже знаєте що таке куки і для чого їх можна використовувати. І власне пост розрахований якраз на тих людей, які хочуть дізнатися відповідь на питання «ЯК?» - тобто задіяти куки на своєму сайті.
Установка куків, простий приклад
Щоб встановити куки, вам як мінімум потрібно задати назву, зміст і кількість часу, яке ця кука буде існувати.
наприклад:
$ Name = 'Миша'; setcookie ( 'my_name', $ name, time () + (86400 * 5)); // 86400 = 1 день в секундах
Наприклад тут ми встановили куки my_name зі значенням Міша і як періоду її існування задали 5 днів в UNIX-форматі часу. time () - місцевий час + 86400 * 5 - 5 днів в секундах.
Отримання куків через PHP
Тепер, коли куки встановлені, давайте спробуємо вивести їх на сайті (якщо звичайно вже не пройшло 5 днів :), для цього ми просто скористаємося масивом $ _COOKIE, який до речі можна просто повністю подивитися через функцію print_r (), але ми підемо більш правильним шляхом , перевіримо ще, що куки існує. echo 'Привіт,'. ($ _COOKIE [ 'my_name']! = ''? $ _COOKIE [ 'my_name']: 'Гість'). '!' ; // Привіт миша!
Те, що ви бачите в круглих дужках, це звичайна умова if-else, тільки в скороченому вигляді, в повному вигляді воно б виглядало ось так:
if ($ _COOKIE [ 'my_name']! = '') echo 'Привіт,'. $ _COOKIE [ 'my_name']. '!' ; else echo 'Привіт, Гість!' ;
Все дуже просто, вірно ж?
Функція setcookie () насправді має і кілька інших параметрів і приклад можна ускладнити, включивши в неї директорію, домен, захист і використання тільки по HTTP. Зараз поясню.
setcookie ( 'my_name', $ name, time () + (86400 * 5), '/ ~ mycookie /', 'truemisha.ru', true, true);
По суті куки та ж сама, але ми також призначили її до директорії «~ mycookie» для домену «truemisha.ru», наступним параметрів, рівним true дозволили використовувати тільки в SSL-підключенні і в наступному параметрі, теж рівним true, заборонили для використання в JavaScript.
Також майте на увазі кілька речей:
- Незважаючи на те, що ми ставимо термін закінчення дії куків, вони можуть бути видалені користувачем в будь-який час.
- Користувач може взагалі вимкнути куки в браузері.
- Кукі ні за яких умов не вийде використовувати між різними доменами.
видалення куків
Тут є кілька моментів.
Перший - якщо ви встановите час закінчення куки рівним 0, то вона буде видалена після закінчення сесії в браузера (після закриття)
Щоб видалити куку негайно, вам потрібно встановити їй порожнє значення або термін закінчення в минулому часі, наприклад:
setcookie ( 'my_name', '', time () -5);
Миша Рудрастих
Вперше познайомився з WordPress в 2009 році. З 2014 року мене можна зустріти на WordCamp - офіційної конфе по WordPress, іноді там виступаю. Також в даний час веду курси по WordPress в Epic Skills .
Якщо вам потрібна допомога з вашим сайтом або може навіть розробка з нуля - пишіть мені .
І власне пост розрахований якраз на тих людей, які хочуть дізнатися відповідь на питання «ЯК?Все дуже просто, вірно ж?