У меня есть 3 флажка, где я могу отправить их в MySQL. Он прекрасно вставляется, но проблема в том, что когда я возвращаюсь к редактированию игры, флажки не проверяются вообще с их правильными значениями (они пусты). Я знаю, что на этом сайте есть много ответов на эту проблему, но я не нашел ни одного из них для работы. Возможно, это что-то, что я делаю неправильно с кодом. Я отправлю его здесь.Как сохранить флажки после отправки формы
ЭТО КРАТКАЯ ВЕРСИЯ МОЕГО КОДА, ПОТОМУ ЧТО ЕГО СЛИШКОМ БОЛЬШОЙ.
if (isset($_GET['add']) || isset($_GET['edit'])) {
$checkbox = ((isset($_POST['available_consoles']) && $_POST['available_consoles'] != '') ? sanitize($_POST['available_consoles']) : '');
if (isset($_GET['edit'])) {
$checkbox = ((isset($_POST['available_consoles']) && $_POST['available_consoles'] != '') ? $_POST['available_consoles'] : $game['available_consoles']);
}
if ($_POST) {
// Separate ech checkbox value with a SPACE into the database.
$checkbox = implode(', ', $_POST['available_consoles']);
// DO INSERT HERE
}
}
<!-- Add the Add Form -->
<form action="games.php?<?php echo ((isset($_GET['edit'])) ? 'edit='.$edit_id : 'add=1'); ?>" method="post" enctype="multipart/form-data">
<!-------------- AVAILABLE CONSOLES ------------------->
<div class="form-group col-md-6">
<label for="checkbox">Available Consoles: </label>
<label class="checkbox">
<input type="checkbox" <?php if (in_array('Xbox One', $_POST['available_consoles'])) {echo 'checked';} ?> name="available_consoles[]" value="Xbox One">
</label>
<label class="checkbox">
<input type="checkbox" <?php if (in_array('PS4', $_POST['available_consoles'])) {echo 'checked';} ?> name="available_consoles[]" value="PS4">
</label>
<label class="checkbox">
<input type="checkbox" <?php if (in_array('PC', $_POST['available_consoles'])) {echo 'checked';} ?> name="available_consoles[]" value="PC">
</label>
</div>
<div class="form-group pull-right">
<a href="games.php" class="btn btn-default">Cancel</a>
<input type="submit" value="<?php echo ((isset($_GET['edit'])) ? 'Edit ' : 'Add '); ?> Game" class="btn btn-success">
</div>
</form>
Получение этих сообщение об ошибке рядом с флажком:
Notice: Undefined index: available_consoles in C:\xampp\htdocs\Gamesite\admin\games.php on line 425
Warning: in_array() expects parameter 2 to be array, null given in C:\xampp\htdocs\Gamesite\admin\games.php on line 425
name="available_consoles[]" value="Xbox One">
Получение его для всех 3-х флажков
Php if ($ _ POST ['available_consoles']) echo 'checked = checked'; ?> – Jah
Это не работает. – David
попробуйте это на xbox один: Php if ($ _ POST ['available_consoles'] ['0']) echo 'checked = checked'; ?> – Jah