すごく初歩的な話で恐縮なんですが、過去何度もミスをしてるのでメモ。。笑わないでね
コントローラで
$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コンポーネントをいじると毎回コレに引っかかっているような気がします…(苦笑)
コメント
CakePHP 1.3 では echo が必要なのでさらに注意です。
http://c-brains.jp/blog/wsg/10/06/21-113032.php