ビューを更に考える (6/7)
作成:2010-02-17 18:27
更新:2010-05-10 19:16
更新:2010-05-10 19:16
■アクションを修正する
では、コントローラーのアクションを修正しましょう。送信されたフォームの内容を取得して表示する簡単な処理を作成します。indexメソッドを、下にあげたリストのように書き換えてみましょう。
ここでは、フォームの内容を、$this->dataから取り出しています。$this->data["name"]とすれば、$form->input('name')で生成された入力フィールドの内容が取り出される、という感じですね。
実際にフォームから送信をしてみると、その内容が上にまとめて表示されるのがわかります。また生成されるフォームは、それぞれの入力フィールドの前にフィールドの名前が表示されています。これもフォームヘルパーによって自動生成されたものです。
また、ここではフォームを自身のアクションに向けて送信するようにしていますが、そうすると送信前に入力した値が、送信して新たに表示されたページでもちゃんと保持されていることがわかるでしょう。この「入力された値の保持」も、フォームヘルパーによって用意されるものなのです。
ここでは、フォームの内容を、$this->dataから取り出しています。$this->data["name"]とすれば、$form->input('name')で生成された入力フィールドの内容が取り出される、という感じですね。
実際にフォームから送信をしてみると、その内容が上にまとめて表示されるのがわかります。また生成されるフォームは、それぞれの入力フィールドの前にフィールドの名前が表示されています。これもフォームヘルパーによって自動生成されたものです。
また、ここではフォームを自身のアクションに向けて送信するようにしていますが、そうすると送信前に入力した値が、送信して新たに表示されたページでもちゃんと保持されていることがわかるでしょう。この「入力された値の保持」も、フォームヘルパーによって用意されるものなのです。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
function index(){ $this->set("page_title","Sample Page"); $this->set("content_header","Sample Page."); $this->set("content_footer","copyright SYODA-Tuyano. 2010."); if ($this->data){ $res = "【送信情報】<br />"; $res .= "名前: " . $this->data["name"] . "<br />"; $res .= "メール:" . $this->data["mail"] . "<br />"; $res .= "電話: " . $this->data["tel"] . "<br />"; } else { $res = "記入してください。"; } $this->set("result",$res); }
※関連コンテンツ
「初心者のためのCakePHP 1.3 プログラミング入門」に戻る