3

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

索引页面上的代码是:

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

我究竟做错了什么?

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

4

4 回答 4

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'); ?>
于 2012-12-04T15:54:07.190 回答
3

As Hugo said you should do the following:

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

If you are going to use it on more than one view, I would suggest you to add the following on AppController.

public function beforeFilter() {
    $this->set('username', AuthComponent::user('username'));
    // OR $this->set('username', $this->Session->read('Auth.User.username'));
}

And then on any of your view just use the variable $username to print the current username.

<?php echo $username; ?>
于 2012-12-04T16:17:06.407 回答
0
echo $this->Session->read('Auth.User.username');

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

于 2012-12-04T15:53:36.553 回答
0

获取 $user 后,您应该执行 echo $user 或 print_r($user),您将打印出用户名。

于 2012-12-04T15:56:13.390 回答