我正在尝试从选择框中获取选项值但是不起作用:
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>';
}
单击提交按钮,它似乎没有考虑选项的值。
有人能告诉我哪里出错了吗?
答案 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'
进行比较。