如何使用cakephp中的会话打印用户名?

时间:2012-12-04 15:51:52

标签: php session cakephp

当我在会话中调用时,我无法在网站上显示我的用户名。

索引页面上的代码是:

<h1>Users Home</h1>
Welcome <?php $user = $this->Session->read('Users.username');?>

我做错了什么?

我还尝试了各种其他方法来调用它,然后获取不同的错误消息。

4 个答案:

答案 0 :(得分:4)

在您的代码中,您使用用户名的内容设置$ 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'); ?>

答案 1 :(得分:3)

正如雨果所说,你应该做到以下几点:

<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; ?>

答案 2 :(得分:0)

echo $this->Session->read('Auth.User.username');

或者,如果您使用的是Cakephp 2.x,则可以在代码中的任何位置使用AuthComponent::user('username')

答案 3 :(得分:0)

获得$ user后,你应该使用echo $ user或print_r($ user),你将获得打印的用户名。