Просмотр поста

.
ДоХтор
# Zidan_@777@ (19.06.2016 / 20:35)
есть 3 чекбокса (по умолчанию галочки должны стоять) когда мы убираем любую одну или более галочек нам нужно сохранить оставшиеся, как это правильно сделать? Задача вроде легкая, но сколько пытаюсь че
Нужно куда-то (в текст.файл, или в базу) сохранять состояние чекбоксов (по умолчанию все включены), а при изменениях любого из них (или сразу всех), перезаписывать новые параметры чекбоксов.
_______________________________

Вот набросал пример, скопируй его и посмотри результат
* (+/-)
<?php

if (!session_id()) session_start();

$CH_BOX = 'data.txt';

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $ch_1 = (!empty($_POST['ch_1']) ? 1 : 0);
    $ch_2 = (!empty($_POST['ch_2']) ? 2 : 0);
    $ch_3 = (!empty($_POST['ch_3']) ? 3 : 0);
    $put = "$ch_1|$ch_2|$ch_3";
    if (file_put_contents($CH_BOX, $put)) {
        $_SESSION['set'] = '<h4>Настройки сохранены!</h4>';
        header('Location: '. $_SERVER['PHP_SELF']);
        exit;
    }
} elseif (!file_exists($CH_BOX)) {
    file_put_contents($CH_BOX, '1|1|1');
}

list($ch_1, $ch_2, $ch_3) = explode('|', file_get_contents($CH_BOX));

if (!empty($_SESSION['set'])) {
    echo $_SESSION['set'];
    unset($_SESSION['set']);
}

?>

<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
    <input type="checkbox" name="ch_1" <?=($ch_1 ? 'checked="checked"' : '')?> /><br />
    <input type="checkbox" name="ch_2" <?=($ch_2 ? 'checked="checked"' : '')?> /><br />
    <input type="checkbox" name="ch_3" <?=($ch_3 ? 'checked="checked"' : '')?> /><br />
    <p><input type="submit" value="Ok" /></p>
</form>