如何在用户登录后向用户显示用户的名字

时间:2015-02-23 09:56:29

标签: codeigniter ion-auth

我正在使用Ion_Auth,我遇到了问题。我已经找到了解决方案,但还没有进展。

例如,有一个用户,他的名字是Alex。

当Alex登录门户时,他应该看到他的名字Alex,然后如果他点击他的名字,他将转到他的用户设置来编辑他的详细信息。问题是当用户登录时我无法显示first_name。

我该怎么做?我不知道我可以为这种情况发布什么代码。告诉我你需要什么作为代码,如果你需要我可以发布。

3 个答案:

答案 0 :(得分:2)

从未使用过Ion_Auth,我决定查看GitHub上的存储库。您可以使用user_id并将其传递给模型方法以获取名字(如umefarooq建议的那样)。

但是,我会从数据库中提取名字,并在用户登录时将其存储在会话中。这意味着您不必返回数据库只是为了获取他们的名字。

你可以在Ion_auth模型中看到这一行;

        $query = $this->db->select($this->identity_column . ', username, email, id, password, active, last_login')

https://github.com/benedmunds/CodeIgniter-Ion-Auth/blob/2/models/ion_auth_model.php#L985

您可以将第一个名称行添加到此查询中,并在用户登录时将其添加到会话中。

然后您可以通过以下方式访问它:

$this->session->userdata('FirstName');

希望这有帮助。

答案 1 :(得分:1)

最简单的方法是:

$user = $this->ion_auth->user()->row();
echo $user->first_name;

答案 2 :(得分:0)

当用户成功登录时,将他/她的名字存储到会话变量中。

然后在您要显示的位置调用特定的会话变量。