Php 单选按钮不工作 父亲 母亲 孩子

Php 单选按钮不工作 父亲 母亲 孩子,php,radio-button,Php,Radio Button,更改此行: <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="

更改此行:

<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";
   }
   }
致:

更改此行:

<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";
   }
   }
致:


在“母亲”和“孩子”中有一个空格

在“母亲”和“孩子”中有一个空格

在母亲和父亲的值中有一个空格。“妈妈”!=“母亲”和“父亲”!=“父亲”


删除空格,代码将正常工作。

值中有一个空格,表示母亲和父亲。“妈妈”!=“母亲”和“父亲”!=“父亲”


删除空格,代码就可以运行。

问题是,在孩子和母亲的HTML:value标记中,末尾有一个空格:
value=“kid”
,但您将提交的
POST
与字符串
mother
/
kid
进行比较,结果没有空格,因此失败


我会删除你价值标签中的trailig空格。让脚本工作的其他方法是在比较字符串中添加空格,或者在比较之前使用
trim
-函数
trim
删除字符串的所有标题/尾随空格。

问题是,在孩子和母亲的HTML:value标记中,末尾有一个空格:
value=“kid”
,但您将提交的
POST
与字符串
母亲
/
kid
进行比较,但末尾没有空格,因此失败


我会删除你价值标签中的trailig空格。让脚本工作的其他方法是在比较字符串中添加空格,或者在比较之前使用
trim
-函数
trim
删除字符串的所有标题/尾随空格。

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

$h=trim($_POST['r']); #this to trim off white spaces you have accidently put on values of radio buttons.
您还可以将switch case用于此类控件,这样可以使代码更有条理。您可以在此处找到一个简单的示例和信息:
问题是,你把空格字符放在母亲和孩子后面。你可以用“母亲”来代替“母亲”,它会起作用的。我不明白你为什么对我重复同样的条件

$h=trim($_POST['r']); #this to trim off white spaces you have accidently put on values of radio buttons.
您还可以将switch case用于此类控件,这样可以使代码更有条理。您可以在此处找到一个简单的示例和信息:

作为旁注,不知道为什么要关闭表单标记(最后一个/>应该是>),这与您的问题无关,但可能会导致其他问题。作为旁注,不知道为什么要关闭表单标记(最后一个/>应该是>),这与您的问题无关,但可能会导致其他问题。