1

ほとんどのページに共通のフォームが表示されているサイトがあります。フォームコードは個別のファイルにあり、次のように各ビューに読み込まれます。

<?php $this->load->view('includes/quote'); ?>

これは、すべてのコントローラーとビューでコードを複製する必要がないようにするためです。フォームデータは、電子メールの作成に使用されます。フォームは正しく表示されますが、入力データの処理方法がわかりません。複数のコントローラーが関係しているので、データを処理するために別のコントローラーを作成する必要がありますか?この種の状況に対処するための最良の方法は何ですか?

4

3 に答える 3

0

Raheelが言ったこと(フォームの送信を処理する関数を持つ共通のコントローラー)、または処理を行う必要があるときに含まれるライブラリを作成し、libraryメソッドを呼び出すことができます。

于 2012-09-18T08:20:36.503 に答える
0

ci_controllerを拡張する私のコントローラーを使用してください。その後、すべてのコントローラーがmy_controllerを拡張します。my_controllerで、他のすべてのコントローラー間で共有されるメソッドを作成します。このようにあなたはそれらを書く必要はありません。それらは利用可能になります。同様に、すべてのコントローラーで、ectraコードを記述してフォームを送信できます。これは、どのコントローラーからのURLを意味するかを処理するだけです。この目的のために、current_url()メソッドを使用します。これは役に立ちます。

于 2012-09-18T07:23:32.520 に答える
0

各コントローラーから変数を渡して、現在使用されているコントローラーを識別します。これを使用してフォームのaction属性を変更できるため、正しいコントローラーを指します。

さらに、その変数を使用してフォームに非表示フィールドを作成することもできるため、その変数をチェックすることで、$_POSTどのフォームが送信されたかを知ることができます。

于 2012-09-18T08:26:28.217 に答える