セッションから呼び出したときに、Webサイトに表示されるユーザー名を取得できません。
インデックスページのコードは次のとおりです。
<h1>Users Home</h1>
Welcome <?php $user = $this->Session->read('Users.username');?>
私は何が間違っているのですか?
また、他のさまざまな方法で呼び出して、さまざまなエラーメッセージを表示することも試みました。
コードでは、ユーザー名の内容を使用して$userを設定しています。しかし、あなたはそれを印刷していません。
<h1>Users Home</h1>
Welcome <?=$this->Session->read('Auth.User.username')?>
の略です
<h1>Users Home</h1>
Welcome <?php print $this->Session->read('Auth.User.username'); ?>
ヒューゴが言ったように、あなたは次のことをすべきです:
<h1>Users Home</h1>
Welcome <?php echo $this->Session->read('Auth.User.username'); ?>
複数のビューで使用する場合は、AppControllerに次を追加することをお勧めします。
public function beforeFilter() {
$this->set('username', AuthComponent::user('username'));
// OR $this->set('username', $this->Session->read('Auth.User.username'));
}
次に、どのビューでも、変数$usernameを使用して現在のユーザー名を出力します。
<?php echo $username; ?>
echo $this->Session->read('Auth.User.username');
または、Cakephp 2.xを使用している場合はAuthComponent::user('username')
、コード内のどこでも使用できます。
$ userを取得したら、echo $ userまたはprint_r($ user)を実行すると、ユーザー名が印刷されます。