изменение значения флажка в базе данных - PullRequest
0 голосов
/ 29 августа 2009

У меня есть форма с флажками. Я не устанавливал значение флажков, я всегда думал, что значение было «включено» или «» (пусто). У меня есть значение «на», передавая в базу данных. Проблема в том, что когда я снял флажок, он не меняет значение в базе данных на '' (пусто). Остальные значения формы, такие как поля ввода, изменяются. Вот мой код на моих флажках

<input  type="checkbox" name="form3_one_2" <?php if($form3_one_2 == 'on'){print 'checked="checked"';}?> />

Должен ли я иметь значение в форме ???

Ответы [ 2 ]

1 голос
/ 29 августа 2009

Вы должны отслеживать флажки в форме. Когда форма размещена, сделайте что-то вроде

<?php

if( 'POST' == $_SERVER[ 'REQUEST_METHOD' ] )
{
  /* for security reasons just check
   * if it isset and set it to 'on' yourself
   * never trust users input, always validate / sanitize
   */
  $form3_one_2 = isset( $_POST[ 'form3_one_2' ] ) ? 'on' : '' ;
}

?>

Кстати: Откуда ваш $ form3_one_2? У меня ощущение, что вы все еще работаете с установкой ini register_globals, которая также является огромной дырой в безопасности с юрского периода. Обязательно запрограммируйте для register_globals, установленного на off.

0 голосов
/ 29 августа 2009

Если вы хотите записать его как выбранный в браузере, как он выглядит, используйте

<input name="foo" selected="selected" ... />

Если вы хотите получить результат флажка, он действительно должен быть включен, когда вы передаете его через форму (или строку запроса, если вы используете GET).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...