1

選択ボックスからオプション値を取得しようとしていますが、機能していません:

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>';
}

送信ボタンをクリックすると、オプションの値が考慮されていないようです。

どこが間違っているのか誰か教えてもらえますか?

4

2 に答える 2

4

あなたのif条件が間違っています。

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
于 2012-10-02T22:13:12.220 に答える
3

ブラケット エラーのため、if ロジックに欠陥があります。現在、あなたは と比較isset($_POST['module_gen_select_ver'] )してい'joomla15'ます。と比較するつもりだと思い$_POST['module_gen_select_ver']ます'joomla15'

于 2012-10-02T22:14:09.093 に答える