2015-02-19 3 views
0

Мне нужно проверить вход переключателя на submit.Проверка переключателя на отправке - PHP

Если ни один из переключателей не установлен, $err1_diet устанавливается в значение true, а класс red должен быть добавлен.

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

if(!isset($_POST['diet'])){ 
    $err1_diet = true; 
    }elseif($_POST['diet'] == 1){ 
    $diet = true; 
    }else{ 
    $diet = false; 
    $yes = true; 
    } 

<p class="<?php echo (($err1_diet == true) ? "red" : ""); ?>">&#8226; Are you on a diet?<?php var_dump($err1_diet); ?></p> 
<input type="radio" name="diet" value="1" <?php echo (($diet) ? 'checked="true"' : ""); ?> /> Yes 
<input type="radio" name="diet" value="0" <?php echo (($diet) ? '' : 'checked="true"'); ?> /> No 
+0

Есть ли проблема с этим кодом? мне это кажется прекрасным. –

+0

Он не проверяет правильную кнопку после ввода. Я просто что-то пропустил. длинный день. – Ciprian

+0

На самом деле нет ... он проверяет одну из переключателей перед отправкой формы. Это проблема. – Ciprian

ответ

2

На самом деле нет ... это проверка на одну из кнопок радио перед отправкой формы. Это проблема

Вы можете решить проблему с помощью $_SERVER['REQUEST_METHOD']=='POST', например:

if($_SERVER['REQUEST_METHOD']=='POST' and !isset($_POST['diet'])){ 
    $err1_diet = true; 
    }elseif($_POST['diet'] == 1){ 
    $diet = true; 
    }else{ 
    $diet = false; 
    $yes = true; 
    } 

<p class="<?php echo (($err1_diet == true) ? "red" : ""); ?>">&#8226; Are you on a diet?<?php var_dump($err1_diet); ?></p> 
<input type="radio" name="diet" value="1" <?php echo (($diet) ? 'checked="true"' : ""); ?> /> Yes 
<input type="radio" name="diet" value="0" <?php echo (($diet) ? '' : 'checked="true"'); ?> /> No 
Смежные вопросы