4月
04
2009

[CakePHP]$session->flashを表示する際の注意
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

すごく初歩的な話で恐縮なんですが、過去何度もミスをしてるのでメモ。。笑わないでね

コントローラで

$this->Session->setFlash("なにがし");

とセットした値は/layout/default.ctpの

<?php $session->flash(); ?>

で、表示されるわけですが、
setFlashするときに第4引数にキーを与えて、自分で読み出すときに必ずやってしまうミスがこれ。

if ($session->check("Message.auth")) {
    // echoをつけちゃ駄目!!
    echo $session->flash("auth");
}

$session->flash();にechoをつけちゃうと$sessionヘルパーの返り値であるtrueまで表示しちゃうので、

<div id="authMessage" class="message">このページにアクセスする権限がありません</div>1

のように、余計な「1」が表示されます。

ホントくだらない事なんですが、Authコンポーネントをいじると毎回コレに引っかかっているような気がします…(苦笑)

関連する投稿

Written by suzukenn in: メモ | タグ: ,

コメントはまだありません »

RSS feed for comments on this post.  トラックバックURL


コメントをのこす

| I have been indebted to Aeros Theme. | Background image owner is NASA.