сохранить флажок, которые были проверены после отправки

Я знаю, что есть «Флажок PHP keep установлен после отправки формы«здесь, но этот поток не решает мою проблему, потому что у меня есть несколько флажков, что мне нужно, когда вы установите флажок, это остаться проверенным после отправки.

На данный момент с этим кодом ничего не происходит, я попробовал другой способ, но когда я проверяю флажок «id7», все флажки проверяются.

Я должен знать, какой флажок был отмечен идентификатором, который я ему предоставляю, но я не знаю как.

while ($fila = mysql_fetch_array($rs)) {
echo utf8_encode("<tr>
<td>
".$fila['title']."</td>
");?>
<td>
<input type="checkbox" name="checklist[]" value="<?php echo htmlspecialchars($fila['id']); ?>" <?php if(isset($_POST['checklist[]']) && is_array($_POST['checklist[]']) && in_array('$fila', $_POST['checklist[]'])) echo 'checked="checked"'; ?> />
</td>
<?php
}
}
?>

0

Решение

Во-первых, значение флажка $fila['id'] поэтому, когда вы проверяете, используйте $fila['id'] вместо $fila, Кроме того, когда PHP получает поля ввода массива с [] в их именах [] будет удален, так что правильная переменная POST $_POST['checklist'],

Попробуйте изменить эту строку:

<input type="checkbox" name="checklist[]" value="<?php echo htmlspecialchars($fila['id']); ?>" <?php if(isset($_POST['checklist[]']) && is_array($_POST['checklist[]']) && in_array('$fila', $_POST['checklist[]'])) echo 'checked="checked"'; ?> />

в

<input type="checkbox" name="checklist[]" value="<?php echo htmlspecialchars($fila['id']); ?>" <?php if(isset($_POST['checklist']) && is_array($_POST['checklist']) && in_array($fila['id'], $_POST['checklist'])) echo 'checked="checked"'; ?> />
1

Другие решения

«name» похоже на имя переменной — используя checklist [], вы определяете массив как переменную.
Почему бы просто не назвать каждый флажок правильно? Когда форма отправлена, используйте содержимое $ _POST для установки каждой переменной в $ _SESSION пользователя.

Если страница обновлена, используйте значения из $ _SESSION, чтобы определить, стоит ли ставить флажок. Что-то вроде (не проверено):

 <input type="checkbox" name="vehicle" value="Bike"<?php if (isset($_SESSION['bike_checked']) echo 'checked'; ?>> I have a bike<br>
<input type="checkbox" name="vehicle" value="Car"<?php if (isset($_SESSION['car_checked']) echo 'checked'; ?>> I have a car<br>
<input type="submit" value="Submit">
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector