PHP & HTML: кнопка переключения обновляет значение в базе данных - PullRequest
0 голосов
/ 17 марта 2020

Я создаю панель PHP, где администратор может включать / отключать различные функции на веб-сайте. Проблема с моим кодом заключается в том, что при каждом переключении кнопки значение не обновляется. Всякий раз, когда я переключаю его, он должен сохранять значение в базе данных, а сам переключатель должен оставаться включенным / выключенным. Я собираюсь приложить несколько фотографий и код. Если что-то неясно, я могу объяснить дальше.

<form method="post">
<label class="switch">
    <input type="checkbox" id="maintenance" name="maintenance">
    <div class="slider round">
        <span class="on">ON</span>
        <span class="off">OFF</span>
    </div>
</label>
        <input type="submit" name="submit" value="Submit" >
</form>

И PHP код

РЕДАКТИРОВАТЬ: запрос теперь работает, но кнопка не будет оставаться включенной или выключенной

$value = $_POST['maintenance'];
if(isset($_POST['submit']) ){
    if(isset($_POST['maintenance'])){
        $value = 1;
    }else{
        $value = 0;
    }
$stmt = $mysqli->prepare("UPDATE settings SET maintenance = ? WHERE id = 1");
$stmt->bind_param('i', $value);
$stmt->execute();
}

Aspect of the button

Database rows & value

РЕДАКТИРОВАТЬ - РАБОЧАЯ ВЕРСИЯ

if(isset($_POST['submit']) ){
    if(isset($_POST['maintenance'])){
        $_POST['maintenance'] = 1;
    }else{
        $_POST['maintenance'] = 0;
    }

    if(isset($_POST['campaign'])){
        $_POST['campaign'] = 1;
    }else{
        $_POST['campaign'] = 0;
    }

    $stmt = $mysqli->prepare("UPDATE settings SET maintenance = ?, campaign = ? WHERE id = 1");
    $stmt->bind_param('ii', $_POST['maintenance'], $_POST['campaign']);
    $stmt->execute();

}

$stmt = $mysqli->prepare("SELECT maintenance, campaign FROM settings WHERE id = 1");
$stmt->execute();
$stmt->bind_result($status_m, $status_s);
$stmt->fetch();
$stmt->close();
}

И HTML

<form method="post">
<label class="switch">
    <?php if($status_m == 1){?>
        <input type="checkbox" id="maintenance" name="maintenance" checked>
    <?php }else{?>
        <input type="checkbox" id="maintenance" name="maintenance">
    <?php } ?>
    <div class="slider round">
        <span class="on">ON</span>
        <span class="off">OFF</span>
    </div>
</label>
<label class="switch">
    <?php if($status_s == 1){?>
        <input type="checkbox" id="campaign" name="campaign" checked>
    <?php }else{?>
        <input type="checkbox" id="campaign" name="campaign">
    <?php } ?>
    <div class="slider round">
        <span class="on">ON</span>
        <span class="off">OFF</span>
    </div>
</label>
<button type="submit" class="float-right button" name="submit" >Save</button>
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...