CAKEPHP入門2




ビューは「app」「views」
コントロールは「app」「controllers」

フォーム

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php

class HelloController extends AppController{
   
    public $name='Hello';
    public $uses = null;
    public $layout = "hello";
   
   
    function index(){}
   
    function sendForm(){
       
       
        $str = $this->params['url']['text1'];
        $result = "";
        if($str != ""){
           
            $result = "you type:".$str;
        }else{
           
            $result = "empty.";
        }
       
        $this->set("result",$result);
    }
   
}
?>

$str = $this->params['url']['text1'];では各種情報を管理するparamsを使っています。

  • controller:コントローラー名
  • action:アクション名
  • named:パラメータ
  • form:POST時のフォームの内容
  • url:GET時のフォームの内容
  • date:ヘルパーに生成された要素

今回は「url」を使ってGETで送信されたフォームの内容を取得しています。



$this->set(“result”,$result);では先ほど取得した変数をビューに渡しています。

セキュリティ

1
2
3
4
5
        App::import('Sanitize');

              ..........................

        $this->set("result",Sanitize::stripAll($result));

CAKEphpのライブラリである。Sanitizeクラスを使います。
今回はstripAllを使いましたが、の他stripScriptやstripImageなどがあります。

Formヘルパーを使う

ここまではビューテンプレートに直接フォームを記述していましたが、Cakephpにはタグを自動生成する「Fromヘルパー」という機能があります。

1
2
3
4
<?php echo $form->create(null,array('type'=>'post','action'=>'.')); ?>
<?php echo $form->text("HelloForm.text1"); ?>
<?php echo $form->submit("送信"); ?>
<?php echo $form->end(); ?>

最初にcreate()、最後にend()をつける。実際の記述は$formで行います。


のようです。

$formの()の中は(名前、属性指定)

  1. コメントはまだありません。

  1. トラックバックはまだありません。