Запоминание в cookies выбранных элементов

246
09 марта 2018, 16:15

Как сделать запоминание выбранных элементов в куки на сутки, даже при обновлении страницы и перезапуска браузера (на php)? Прошу ответить по теме и без всяких "почитай то, сходи посмотри там." Благодарю

Answer 1
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    foreach (checkbox() as $key => $value) {
        foreach (checkbox($key) as $k => $v) {
            if (!isset($_POST[$key][$k])) {
                cookie::remove($k);
            }
        }
    }
    foreach ($_POST as $key => $value) {
        if (is_array($_POST[$key])) {
            foreach ($_POST[$key] as $k => $v) {
                cookie::set($_POST[$key][$k], $v);
            }
        } else {
            cookie::set($_POST[$key], $value);
        }
    }
    header("Location: ".$_SERVER['HTTP_REFERER']);
    exit();
}
class cookie {
    public function set($name, $value) {
        setcookie($name, $value, time()+86400, '/');
        return $value;
    }
    public function remove($name) {
        return setcookie($name, '', 2147483647, '/');
    }
}
function checkbox($key='') {
    $array = [
        'a' => [
            'A1'=>'Первый A',
            'A2'=>'Второй A',
            'A3'=>'Третий A'
        ],
        'b' => [
            'B1'=>'Первый B'
        ]
    ];
    if ($key) {
        return $array[$key];
    } else {
        return $array;
    }
}
?>
<form action="/" method="post">
    <?php
    foreach (checkbox() as $key => $value) {
        foreach (checkbox($key) as $k => $v) {
            if (isset($_COOKIE[$k])) {
                echo '<input type="checkbox" name="'.$key.'[]" value="'.$k.'" checked>'.$v;
            } else {
                echo '<input type="checkbox" name="'.$key.'[]" value="'.$k.'">'.$v;
            }
        }
    }
    ?>
    <button type="submit">Отправить</button>
</form>
Answer 2

Ну без объяснений так без объяснений: setcookie ("TestCookie", $value,time()+86400));

READ ALSO
Проблема с записью эмодзи в базу данных

Проблема с записью эмодзи в базу данных

Здравствуйте! Я работаю с VK API, и мне нужно записать то, что написал пользователь, в базу данныхПроблема в том, что если пользователь отправит...

223
Как реализован вызов метода через метод?

Как реализован вызов метода через метод?

иногда встречаю такой код

234
Сортировка файла php

Сортировка файла php

У меня в файле есть текст по такому типу:

216
Вывод данных из ответа API

Вывод данных из ответа API

Возвращается посредством API ответ:

228