CAKEPHP入門2

   

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

フォーム

[cc lang=”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);
}

}
?>
[/cc]

$str = $this->params[‘url’][‘text1’];では各種情報を管理するparamsを使っています。
  • controller:コントローラー名
  • action:アクション名
  • named:パラメータ
  • form:POST時のフォームの内容
  • url:GET時のフォームの内容
  • date:ヘルパーに生成された要素
今回は「url」を使ってGETで送信されたフォームの内容を取得しています。





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


セキュリティ


[cc lang=”php”]
App::import(‘Sanitize’);

……………………..

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


[/cc]

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


Formヘルパーを使う

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

[cc lang=”php”]

create(null,array(‘type’=>’post’,’action’=>’.’)); ?>
text(“HelloForm.text1”); ?>
submit(“送信”); ?>
end(); ?>

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

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



Related Posts Plugin for WordPress, Blogger...