Php 使用post从下拉选择中显示

Php 使用post从下拉选择中显示,php,Php,我在网上到处都能找到这个解决方案,但我不明白为什么它不起作用 所以我有这个下拉列表 <select name="gender"> <option value="">Choose Gender</option> <option value="1" name="male">Male</option> <option value="2" name="female">Female</option> </

我在网上到处都能找到这个解决方案,但我不明白为什么它不起作用

所以我有这个下拉列表

<select name="gender">
  <option value="">Choose Gender</option>
  <option value="1" name="male">Male</option>
  <option value="2" name="female">Female</option>
</select>

选择性别
男性的
女的
然后我有下面的php代码

if (isset($_POST['gender']) === 1){
   echo 'Gender: Male <br /> ';
}else if (isset($_POST['gender']) === 2){
   echo 'Gender: Female <br /> ';
}else{
   echo 'Gender: Not Set <br /> ';
}
if(isset($\u POST['gender'])==1){
回声“性别:男性
”; }else if(isset($_POST['gender'])==2){ 回声“性别:女性
”; }否则{ 回显“性别:未设置
”; }
我从输出中得到的只是

性别:未设定

所以我错过了什么

p、 我是个新手。温柔点。

对于初学者,
isset()
返回一个
bool
,而不是正在测试的值。(注意“is set”的语义,这是一个yes/no概念。)此外,
=
还比较类型,我怀疑默认情况下所有发布的值都是字符串。删除
isset()
调用并使用不太严格的比较:

if ($_POST['gender'] == 1){
    echo 'Gender: Male <br /> ';
}else if ($_POST['gender'] == 2){
   echo 'Gender: Female <br /> ';
}else{
   echo 'Gender: Not Set <br /> ';
}

好吧,我永远也猜不到。但是是的,这是有意义的…现在。非常感谢。
if (isset($_POST['gender'])){
    if ($_POST['gender'] == 1){
        echo 'Gender: Male <br /> ';
    }else if ($_POST['gender'] == 2){
       echo 'Gender: Female <br /> ';
    }else{
       echo 'Gender: Not Set <br /> ';
    }
}