« [CakePHP1.3] CakePHP 1.3 によるWebアプリケーション開発(秀和システム) のメモ | トップページ | [CakePHP1.3] 秀和システムの本 メモ3 - Formヘルパー »

2012年5月22日 (火)

[CakePHP1.3] CakePHP 1.3 によるWebアプリケーション開発(秀和システム) のメモ2

書籍「CakePHP 1.3によるWebアプリケーション開発―オープンソース徹底活用」(秀和システム、掌田 津耶乃)のメモ その2。

フォームの利用。

用意するもの

用意するもの
項目 内容
コントローラ内の
メソッド
フォームを組み込んだビューを表示するアクション。 index
送信データを取得するアクション。 sendForm
ビュー フォームを組み込んだページ。 index.ctp
取得した送信データを表示するページ。 send_form.ctp

フォームを組み込んだページの表示

アクションとビュー
アクション(コントローラ) index
ビュー index.ctp

indexアクション

function index()
{
}

index.ctp

<form method="get" action="./sendForm">
  <input type="text" name="text1" />
  <input type="submit" />
</form>

送信データの取得と表示

アクションとビュー
アクション(コントローラ) sendForm
ビュー send_form.ctp

sendFormアクション

function sendForm()
{
  App::import( 'Sanitize' );

  $str = $this->params['url']['text1'];

  if ( $str != "" )
  {
    $result = "you type: ". $str;
  }
  else
  {
    $result = "empty.";
  }

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

send_form.ctp

<p><?php echo $result; ?></p>

フォームデータの取得方法

フォームデータを取得するには、$this->params 変数を利用する。

フォームデータの取得
method 変数
GET $tihs->params['url'][名前]
POST $tihs->params['form'][名前]

コントローラからビューへ変数をセットする方法

コントローラからビューへ変数をセットするには、コントローラのsetメソッドを利用する。

書式: set( ビューでの変数名となる文字列, )

たとえば、次の通り。これは、コントローラでの変数 $result の値を、 ビューでの変数 $data にセットしている。

$this->set( "data", $result );

データのサニタイジング

データのサニタイジングは、Sanitize クラスの stripAll メソッドで行う。 このメソッドは、問題となるタグのみ無害化し、それ以外のタグは残す(scriptタグなどを除去し、aタグなどは残す)。

Sanitize クラスを利用するには、ライブラリを読み込む必要がある。 ライブラリを読み込むには、App::import メソッドを利用する。

App::import( 'Sanitize' );
...
$result = Sanitize::stripAll($result);

Sanitize クラスのその他のメソッドは次の通り。

Sanitize クラスのメソッド
メソッド 内容
stripTags( $text, $tag1, $tag2, … ) $text から、$tag? で指定したタグを取り除く。
stripAll( $text ) $text から、以下の3つのメソッドのすべてを取り除く。
stripScripts( $text ) $text から、scriptタグ、styleタグを取り除く。
stripImages( $text ) $text から、imgタグを取り除く。
stripWhitespace( $text ) $text から、空白文字(改行、タブなど)を取り除く。
html( $text, $remove = false ) $text から、HTMLタグを無害化あるいは削除する。$removefalse なら無害化、true なら削除。

関連

« [CakePHP1.3] CakePHP 1.3 によるWebアプリケーション開発(秀和システム) のメモ | トップページ | [CakePHP1.3] 秀和システムの本 メモ3 - Formヘルパー »

プログラム・スクリプト」カテゴリの記事

2019年11月
          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 30

Amazonリンク

ダイビング写真(swf)

ブログ内検索

  • Google
    WWW を検索
    ブログ内を検索

リンク(いつもお世話さま)

  • ソニーストア
     iTunes Store(Japan)
    Just MyShop(ジャストシステム)
    ブックオフオンライン
無料ブログはココログ