Привіт всім! Сьогодні ми спробуємо розібратися: що таке JSON та як читати JSON-файл у Python? Читати далі Як читати JSON-файл у Python?
Список підроблених email-адрес + генератор
В рамках запису, присвяченого можливості вилучення посилань і поштових адрес потрібно було зробити список підроблених email-адрес, який дозволив не тільки згенерувати підроблені адреси, але і зробити це в готовому для використання в html-коді вигляді. Власне, сам код генератора на Python доступний нижче (раптом кому знадобиться) (а генератор на PHP – у самому низу сторінки 😉) Читати далі Список підроблених email-адрес + генератор
PHP – робота з cookies
Привіт всім! Сьогодні – невеликий пост, присвячений темі: PHP – робота з cookies.
Упевнений, ви знаєте — що таке ці cookies. Про всяк випадок — це невеликий код, який використовується для:
- автентифікації користувача
- зберігання персональних переваг та налаштувань користувача
- відстеження стану сеансу доступу користувача
- відомості статистики про користувачів
Формуються cookie на сервері, а зберігаються на комп’ютері користувача.
Створювати ці куки (cookies) в PHP можна наступним чином:
setcookie(cookie_name, value_cookie, time() + 3600);
де:
– cookie_name – ім’я кукі
– value_cookie – значення кукі
– time() – час життя кукі в секундах, після закінчення якого вона автоматично вийде
АЛЕ! Наявність терміну життя кукі не говорить про те, що його не можна видалити. Видаляється вона просто:
setcookie(cookie_name, value_cookie, time() - 3600);
тобто – код для видалення абсолютно схожий на код для створення cookies, за однією різницею — ми ставимо не плюс, а мінус у часі життя кукі. Як бачите – все просто!
Частка прикладу розберемо код практично. Я тут створив дві сторінки: https://lavrynenko.com/php_cookie/index_cookie.php – (відповідає за значення куки з ім’ям cookie_name (так, я оригінальний ) і відображення цієї самої куки) і https://lavrynenko. com/php_cookie/add_cookie.php – яка, власне, і створює цю саму куку.
Вихідний код сторінок нижче:
index_cookie.php
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Куки-текст</title> </head> <body> <form action="add_cookie.php" method="post"> <input type="text" name="value_cookie" placeholder="Введите значение куки" /><br /> <input type="submit" name="add_cookie" value="Добавить куку"> </form> <?php if (isset($_COOKIE['cookie_name'])) { echo $_COOKIE['cookie_name']; } else { echo "Кука не установлена"; } ?> </body> </html>
Розбираємо код докладніше:
<form action="add_cookie.php" method="post">
створюємо форму, яка оброблятиметься кодом, розташованим у файлі з ім’ям add_cookie.php (я розповідав про це докладніше тут.)
<input type="text" name="value_cookie" placeholder="Введите значение куки" /><br /> <input type="submit" name="add_cookie" value="Добавить куку">
У нас є поле, в яке ми вводимо бажане значення куки, і кнопка, на кліку на яку ми і потрапляємо в файл add_cookie.php – який і зробить всю магію.
<?php if (isset($_COOKIE['cookie_name'])) { echo $_COOKIE['cookie_name']; } else { echo "Кука не установлена"; } ?>
Цей код відповідає за відображення збереженої на комп’ютері cookie — якщо у нас немає cookies з потрібним ім’ям — виводимо повідомлення про те, що кука не встановлена. Інакше виводимо значення куки.
З першим файлом розібралися. Тепер дивимося код файлу, який відповідає за створення cookie:
<?php $value_cookie = $_POST['value_cookie']; setcookie("cookie_name", $value_cookie, time() + 3600, '/'); header("Location: index_cookie.php"); exit(); ?>
тут взагалі все просто:
– у першому рядку отримуємо значення куки, яке ми задали на першій сторінці
– другий рядок відповідає за створення cookie: ім’я cookie: cookie_name, її значення – змінна, яку ми створили в першому рядку, час життя cookie – 3600 секунд.
– третій рядок — переадресація на першу сторінку (нам же важливо побачити результат відпрацювання файлу).
Сподіваюся, вам стало зрозуміліше, як організована робота з cookies у PHP. Як завжди, у разі виникнення запитань пишіть на пошту або в Telegram. Спасибі!