如果未选中,则单选按钮出错

时间:2014-01-31 08:14:06

标签: php

你好,我是PHP的初学者 我创建了一个表单,并且有几个单选按钮,带有YES / NO选项...每件事情都运行正常但是如果我提交表单而不点击单选按钮选项,则会显示以下错误...我知道有一些代码可以写的但不完全正确

'Notice: Undefined index: ws_id in D:\xampp\htdocs\mc\db_def.php on line 18'

3 个答案:

答案 0 :(得分:0)

  1. 你的php中的解决方案使用isset()来检查
  2. 在输入标签中使用“非常基本的验证”

    <label for="input1">1:</label><input type="radio" name="test" id="input1" required value="1" /><br />
    <label for="input2">2:</label><input type="radio" name="test" id="input2" value="2" /><br />
    <label for="input3">3:</label><input type="radio" name="test" id="input3" value="3" /><br />
    

  3. 检查这个小提琴http://jsfiddle.net/Pw5vQ/

答案 1 :(得分:0)

解决方案1:

如果你不检查单选按钮或复选框,表单将不会发布它,所以你不会在$ _POST超全局变量上找到这些输入。 使用选中和未选中的版本尝试var_dump($_POST);。 只需使用此isset() isset($_POST['ws_id'])检查所需的表单名称即可。 如果isset为您提供false,则表示不会进行检查。

解决方案2:

您可以使用html属性checked="checked"预设输入。

例如:

您想要检查NO单选按钮是否为默认值:

<input type="radio" name="ws_id" value="YES"/>Yes

<input type="radio" name="ws_id" value="NO" checked="checked"/>No

答案 2 :(得分:0)

我猜你在第一次访问页面时遇到这个错误,所以没有发送数据,所以$ _POST ['ws_id']或$ _GET ['ws_id']或$ _REQUEST ['ws_id']没有由于没有数据发送,因此在其中输入值。

使用

 if (isset($_POST['id'])) // do what you were doing on line 18
 //or
 if (isset($_GET['id'])) // do what you were doing on line 18
 //or
 if (isset($_REQUEST['id'])) // do what you were doing on line 18

取决于您的选择。