2016-07-28 2 views
0

Я установил флажок в свою форму.простой да или нет флажок для форм

Мой код:

<input type="checkbox" id="checkbox" name="checkbox" value="1"/> 

if($checkbox = ($_POST['checkbox']) == '1') 
     { 
      $checkbox = "si"; 
     } 
     else 
     { 
      $checkbox = "no"; 
     } 

Я хотел бы, что если флажок я получить «да» в противном случае «нет». Спасибо.

+0

В чем проблема? –

+0

вам не нужно делать это значение. просто 'if (isset ($ _ POST ['checkbox']))' и вводить без атрибута 'value'. Я думаю так. – Danielius

ответ

3

Вы ошиблись, если условие здесь, вы не можете использовать назначение в условиях.

Также нет необходимости назначать значение для любой переменной в состоянии проверки. Вы можете напрямую использовать $_POST['checkbox']. Подобно этому,

if($_POST['checkbox'] == '1') { 
    $checkbox = "si"; 
} else { 
    $checkbox = "no"; 
} 

Update:

Лучшим вариантом является использование isset() которые определяют, если переменная задана и не NULL. Например,

if(isset($_POST['checkbox'])) { 
    $checkbox = "si"; 
} else { 
    $checkbox = "no"; 
} 

Программа войдет в состояние, если пользователь установил флажок. В приведенном выше атрибуте значение значения для <input> не требуется. Таким образом, ваш HTML будет выглядеть примерно так:

<input type="checkbox" id="checkbox" name="checkbox"/> 
+1

Вы уверены, что ему нужен этот атрибут значения? Не лучше бы просто 'if (isset ($ _ POST ['checkbox']))' и вводить без 'value'? – Danielius

+0

Да, просто проверка isset была бы лучшей идеей, я просто попробовал помогать OP на его пути. –

+0

то вы можете отредактировать и написать оба двух варианта :) Я думаю, что было бы еще лучше :) – Danielius