Проверка переключателя при отправке - PHP

0

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

Если ни один из переключателей не установлен, $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
    это не проверка правильной кнопки после ввода. Я просто что-то упустил. длинный день.
Показать ещё 8 комментариев
Теги:

1 ответ

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню