4

したがって、最初のオプション「public」を選択してフォームを送信すると、データが挿入されます。しかし、他のオプションを選択してフォームを送信しようとすると、foreachループにあるものが表示されます。データは送信されなくなります。私は要素を調べました。そして、それらはすべての正しい値を出力しています。正しく表示されています。なぜ彼らはデータベースに挿入しないのですか?[送信]をクリックしても何も起こりません。しかし、最初のオプションで[送信]をクリックすると、正常に機能しますか?

<form method='POST' action='add.php'>

<select>    
        <option name="user_page_id" value="<?php echo $_SESSION['user_id']; ?>">Public</option>

        <?php
                    $dis=show_groups_select_list($_SESSION['user_id']);
                    foreach($dis as $key=>$list){

                        echo '<option name="user_page_id" value="'.$list['id'].'">'.$list['username'].'</option>';
                    }
        ?>
</select>
</form>
4

2 に答える 2

7

selectタグではなく、タグにname属性を設定する必要がありますoption

<select name="user_page_id">
    <?php foreach ($dis as $key => $list): ?>
        <option value="...">...</option>
    <?php endforeach; ?>
</select>
于 2012-05-01T01:28:57.403 に答える
2

私はあなたがあなたの答えを得たことを知っています、同じ問題に直面しているがその解決策がうまくいかなかった人々のためのもう少しの情報:
私は同じ問題を抱えていました、そしてそれはBootstrapによって作られるようになりました!Bootstrap
を使用している場合は、selectの属性を指定する必要があります。class

<select name="any_name" class="form-control">
    <option value="this is what would be sent if selected"> sth </option>
</select>


詳細については、このディスカッションもご覧ください。

于 2017-08-29T00:35:24.010 に答える