私は2つの形式を持つビューを持っています:
<table>
<th>Write a comment.</th>
<tr>
<td>
<?php echo form_open($this->uri->uri_string(),$form1);
echo form_textarea($comment);
echo form_submit('submit','submit');
echo form_close();
?>
</td>
</tr>
</table>
<table>
<tr>
<td>
<?php echo form_open($this->uri->uri_string());
echo form_dropdown('portion', $portion_options);
echo form_submit('book','book');
echo form_close();
?>
</td>
</tr>
</table>
コントローラで、どのボタンがクリックされたかを確認してから、対応するフォームの値をデータベースに追加してアクションを実行します。
if(isset($_POST['book']))
{
//sending the data to the database
echo "Book button clicked";
}
if(isset($_POST['submit']))
{
//sending the data to the database
echo "Submit button clicked";
}
ただし、[予約]ボタンをクリックしても、アクションは実行されません。ボタンがクリックされなかったようなものです。一方、「送信」ボタンをクリックすると、すべてのアクションが適切に実行されます。
過去に、私はプレーンphp(つまり、フレームワークなし、phpのみ)で同じ手法を使用しましたが、うまく機能しました。codeigniterにはさらに設定が必要ですか?私は何か間違ったことをしていますか?