检查提交单选按钮 - PHP

时间:2015-02-19 02:31:03

标签: 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

1 个答案:

答案 0 :(得分: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