gpt4 book ai didi

php - Joomla getUser() 不显示更新的用户数据

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:09:06 25 4
gpt4 key购买 nike

下面的代码允许我在用户的 Joomla 配置文件的配置文件页面中显示用户名。考虑到我已经覆盖了模板以获得我想要的外观和感觉。

$user =& JFactory::getUser();

if (!$user->guest) {
echo 'You are logged in as:<br />';
echo 'Real name: ' . $user->name . '';
}

我的问题是我允许用户更新他或她的个人资料。在他更新姓名后,数据库会正确更新,但不会在个人资料页面中显示更新后的姓名。

当我查看 Joomla 文档时,我发现用户数据存储在 session (JFactory::getUser()) 中。如果我 print_r($_SESSION) 我可以看到用户数据对象。此外,如果我注销然后再次登录,更新后的名称将显示在个人资料页面上。

数据更新后如何在个人资料页面显示更新详情?有没有一种方法可以在 Joomla session 中更新 session 数据而不是手动执行?

最佳答案

您应该使用 JSession 为用户的当前 session 设置新数据

        $user = JFactory::getUser();
$session = JFactory::getSession();
$session->set('user', new JUser($user->id));
//new data for your user after the update
$user = JFactory::getUser();
print_r($user);

关于php - Joomla getUser() 不显示更新的用户数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15028816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com