你好,我是PHP的初学者 我创建了一个表单,并且有几个单选按钮,带有YES / NO选项...每件事情都运行正常但是如果我提交表单而不点击单选按钮选项,则会显示以下错误...我知道有一些代码可以写的但不完全正确
'Notice: Undefined index: ws_id in D:\xampp\htdocs\mc\db_def.php on line 18'
答案 0 :(得分:0)
在输入标签中使用“非常基本的验证”
<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 />
检查这个小提琴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
取决于您的选择。