使用php获取选择框值时出错

使用php获取选择框值时出错,php,forms,validation,Php,Forms,Validation,我目前正在从事一个项目,其中用户从选择框中选择一个选项并提交一个表单,然后表单由PHP处理,PHP代码确定选择框值是什么,并基于该值执行某些操作 我的选择框称为组合组,有两个选择值:爱乐交响乐团和交响乐团 以下是我检查所选值的方式: if($_POST['combined_group'] == "philharmonic_orchestra"){ $_SESSION['semesterprice'] = "170"; $_SESSION['fullprice'] = "330";

我目前正在从事一个项目,其中用户从选择框中选择一个选项并提交一个表单,然后表单由PHP处理,PHP代码确定选择框值是什么,并基于该值执行某些操作

我的选择框称为组合组,有两个选择值:爱乐交响乐团和交响乐团

以下是我检查所选值的方式:

if($_POST['combined_group'] == "philharmonic_orchestra"){
    $_SESSION['semesterprice'] = "170";
    $_SESSION['fullprice'] = "330";
}
if($_POST['combined_group'] == "symphony_orchestra"){
    $_SESSION['semesterprice'] = "275";
    $_SESSION['fullprice'] = "530";
}
但当PHP运行此代码时,无论是if语句还是if语句都没有被选中。我知道$_POST['combined_group']的值实际上是这两个值中的任何一个,只是PHP出于某种原因没有选择它

有人愿意帮忙吗

编辑:我的HTML表单代码如下

<select name="combined_group" class="OBJ-1">
<option value="" selected="">Select One</option>
<option value="philharmonic_orchestra">Philharmonic Orchestra</option>
<option value="symphony_orchestra ">Symphony Orchestra</option>
</select>

很可能是错误的HTML语法。检查选项项是否具有值属性:

<option value="...">...</option>
客户端


您的条件语句失败的原因是您的期权值中有空格

<option value="symphony_orchestra ">
                                 ^ right there
有了报价前的空间,它就可以工作了

引号之间的任何内容都被视为元素值的一部分。
您可以在定义选择框的地方发布html代码吗?如果运行var_dump$_post['combined_group'];会得到什么;?此外,添加HTML代码也可能很有用。此处的空格为空:value=symphony\u如果是动态生成的,则必须在HTML或php中转义选项值。除非您意外添加了空间。答案如下。看起来trim解决了这个问题!谢谢
if (! isset($_POST["combined_group"]))
{
   exit('not set');
}
if (trim($_POST["combined_group"]) == '')
{
   exit('not selected');
}
if (trim($_POST["combined_group"]) == 'philharmonic_orchestra')
{
   //business logic for 'philharmonic_orchestra'
}
else
{
   //business logic for 'symphony_orchestra'
}
<option value="symphony_orchestra ">
                                 ^ right there
<option value="symphony_orchestra">
                                 ^ deleted space
if($_POST['combined_group'] == "symphony_orchestra ")
                                                  ^ notice the space