2017-01-20 10 views
0

У меня есть флажок в моей форме, которая выглядит следующим образом:Настройка Флажок проверить с помощью PHP это результаты никоим образом очистить проверяемый атрибут после рендеринга

<input class="form-control" type="checkbox" id="showCTA" name="showCTA" <?php echo $block['showCTA'] ? 'checked' : ''; ?> /> 

Все отлично работает с этой маркой до ... . если значение PHP равно 1 (уже проверено). Если это так, я могу проверить и снять флажок в конце от визуально, но фактический атрибут html не изменяется, в результате чего одно и то же значение сохраняется в моей базе данных при отправке.

Как я могу обойти это в чистом виде? Я предполагаю, что проблема заключается в том, что значение PHP является абсолютным до тех пор, пока оно не будет представлено, это означает, что условие вокруг моего «проверенного» атрибута также является абсолютным, поэтому я не могу изменить атрибут.

+0

'значение' атрибут не меняется при щелчке. Он либо отправлен на сервер, либо нет. Так что, если он не отправлен - ваше поле очевидно __not__ обновлено и остается '1' –

+0

Все еще имеет ту же проблему при удалении значения =" 1 "@u_mulder –

ответ

1

Если флажок не установлен, и вы публикуете форму, то $_POST['showCTA'] будет не определен. Поэтому вы должны использовать метод isset($_POST['showCTA']), который вернет true, если флажок установлен, а если нет, то false.

 Смежные вопросы

  • Нет связанных вопросов^_^