0
<form method="POST"/>
FATHER<input type="radio" name="r" value="father">
MOTHER<input type="radio" name="r" value="mother ">
KID<input type="radio" name="r" value="kid ">
    <input type="submit" name="submit" value="Submit">
    </form>



<?php
if (isset($_POST['submit']) && $_POST['submit']=='Submit') {
if(!empty($_POST['r']) || !empty($_POST['r']))
    {
        $h=$_POST['r'];
    }else {
        $h='';
    }
if($h =="father" )  
   {
           echo "1";
   } else if($h =="mother" ) {
           echo "2";
   } else if($h =="kid" ) {
           echo "3";
   }
   }

我有 3 个单选按钮 ID 孩子、父亲和母亲,当用户单击任何单选按钮时,我为父亲、母亲和孩子分配了一些值。当我单击父亲时,它向我显示了结果,但是当我单击母亲和孩子按钮时,它什么也没显示。请任何人都可以帮助我。

4

5 回答 5

3

更改此行:

$h=$_POST['r'];

至:

$h=trim($_POST['r']); #this to trim off white spaces you have accidently put on values of radio buttons.
于 2013-09-18T08:17:40.157 回答
0

你在“妈妈”和“孩子”中有一个空格

于 2013-09-18T08:19:33.170 回答
0

你对父母的价值有一个空间。“母亲”!=“母亲”和“父亲”!=“父亲”

删除空格,您的代码将起作用。

于 2013-09-18T08:20:15.663 回答
0

问题是,在您的 HTML: value-tags for child and mom 中,您最后有一个空格value="kid "但是您将提交POST的字符串mother/与kid 末尾的空格进行比较,所以它失败了。

我会删除你的值标签中的尾随空格。使脚本正常工作的其他方法是在比较字符串中添加一个空格或在trim比较之前使用 -function。trim删除字符串的所有标题/尾随空格。

于 2013-09-18T08:21:05.737 回答
0

问题是,你把空格字符放在母亲和孩子之后。您可以使用“mother”代替“mother”,它会起作用。我不明白你为什么重复同样的条件

if(!empty($_POST['r']) || !empty($_POST['r']))

您还可以对这些控件使用 switch case,它使代码更有条理。你可以在这里找到一个简单的例子和​​信息:http: //php.net/manual/en/control-structures.switch.php

于 2013-09-18T08:21:06.543 回答