获取Selectbox选项值无效

时间:2012-10-02 22:06:48

标签: php html forms post

我正在尝试从选择框中获取选项值但是不起作用:

HTML:

<form action="" method="post" name="module_gen">
    <select id="module_gen_select_ver" name="module_gen_select_ver">
        <option value="joomla15">Joomla 1.5</option>
        <option value="joomla25_30">Joomla 2.5/3.0</option>
    </select>
</form>

PHP:

if(isset($_POST['module_gen_select_ver'] ) == 'joomla15') {
    $xmldata = '</install>';
}
elseif(isset($_POST['module_gen_select_ver'] ) == 'joomla25_30') {
    $xmldata = '</extension>';
}

单击提交按钮,它似乎没有考虑选项的值。

有人能告诉我哪里出错了吗?

2 个答案:

答案 0 :(得分:4)

你的条件是否错误。

if(isset($_POST['module_gen_select_ver'] ) == 'joomla15')

获取isset($_POST['module_gen_select_ver'] )的返回值,这是一个布尔值,然后将其与'joomla15'进行比较,因此不满足条件。它应该是:

if(isset($_POST['module_gen_select_ver']) and $_POST['module_gen_select_ver'] == 'joomla15')

条件仍然安全,好像没有设置,第二个条件甚至不会被读取用于所有意图和目的。

或者您可以简单地将if和elseif包装在if(isset($_POST['module_gen_select_ver'])中,然后将其从if和elseif中删除,这样:

if(isset($_POST['module_gen_select_ver'])
{
    if($_POST['module_gen_select_ver'] == 'joomla15')
//etc

答案 1 :(得分:3)

由于包围错误,您的逻辑是否存在缺陷。目前,您正在将isset($_POST['module_gen_select_ver'] )'joomla15'进行比较。我相信您打算将$_POST['module_gen_select_ver']'joomla15'进行比较。