Php 获取上次登录时间

Php 获取上次登录时间,php,yii,Php,Yii,在我的应用程序中,我希望当用户登录时,他/她可以看到他/她的上次登录时间,就像我们在用户模块中登录时一样。所以我把我的用户识别码改成这样 <?php /** * UserIdentity represents the data needed to identity a user. * It contains the authentication method that checks if the provided * data can identity the user. */

在我的应用程序中,我希望当用户登录时,他/她可以看到他/她的上次登录时间,就像我们在用户模块中登录时一样。所以我把我的用户识别码改成这样

<?php

/**
 * UserIdentity represents the data needed to identity a user.
 * It contains the authentication method that checks if the provided
 * data can identity the user.
 */
class UserIdentity extends CUserIdentity
{
    private $_id;

    public function authenticate()
    {
        $user = User::model()->findByAttributes(array('username'=>$this->username));
        if($user===null)
            $this->errorCode=self::ERROR_USERNAME_INVALID;
        else if($user->password!==md5($this->password))
            $this->errorCode=self::ERROR_PASSWORD_INVALID;
        else
        {
            $this->_id=$user->id;
            $this->setState('lastLoginTime', $user->lastLoginTime);
            $this->errorCode=self::ERROR_NONE;
        }
        return !$this->errorCode;
    }

    public function getId()
    {
     return $this->_id;
     $id=Yii::app()->user->id;
     $lastLoginTime=Yii::app()->user->lastLoginTime;
    }
}

And to show the last login time and user name I changed my view >> column2.php file like this

<?php $this->beginContent('//layouts/main'); ?>
<div class="container">
  <div class="span-19">
    <div id="content">
      <?php echo $content; ?>
    </div><!-- content -->
  </div>
  <div class="span-5 last">
    <div id="sidebar">
      <?php if(Yii::app()->user->id):?>
      <span class="admin-message">Hello,&nbsp; <span><?php echo yii::app()->user->name;?>&nbsp;</span></span>
      <?php echo Yii::app()->user->lastLoginTime;?>
    <?php endif;?>
    <?php
      $this->beginWidget('zii.widgets.CPortlet', array(
        'title'=>'Operations',
      ));
      $this->widget('zii.widgets.CMenu', array(
        'items'=>$this->menu,
        'htmlOptions'=>array('class'=>'operations'),
      ));
      $this->endWidget();
    ?>

    <?php
      if(Yii::app()->getModule('user')->isAdmin()):
        $this->beginWidget('zii.widgets.CPortlet',array(
        'title' => 'Admin Operations',
        ));
        $this->widget('zii.widgets.CMenu', array(
        'items'=>array(
          array("label"=> "Create User", "url"=>array('/user/admin/create')),
          array("label"=> "List User", "url"=> array('/user')),
          array("label"=>"Manage Profile","url"=>array('/user/profile')),
          array("label"=>"Manage Profile Fields","url"=>array('/user/profileField/admin')),
        ),
        'htmlOptions'=>array('class'=>'operations'),
      ));
      $this->endWidget(); ?>
     <? endif;
    ?>
    </div><!-- sidebar -->
  </div>
</div>
<?php $this->endContent(); ?>

你好
它在登录后显示用户名,但当我想检查上次登录时,它显示错误,如: 未定义属性“CWebUser.lastLoginTime”。有人能指导我怎么做吗?

使用

<?php echo Yii::app()->user->getState('lastLoginTime');?>

我不知道为什么不工作。 我认为它应该工作,如果它没有你可以使用会话

Yii::app()->session['lastLoginTime'] = $user->lastLoginTime; 
echo Yii::app()->session['lastLoginTime'];