Tec*_*hie 4 php session joomla joomla2.5 joomla3.0
下面的代码允许我在用户的Joomla配置文件的配置文件页面中显示用户的名字.鉴于我已经覆盖了模板以获得我想要的外观和感觉.
$user =& JFactory::getUser();
if (!$user->guest) {
echo 'You are logged in as:<br />';
echo 'Real name: ' . $user->name . '';
}
Run Code Online (Sandbox Code Playgroud)
我的问题是我允许用户更新他或她的个人资料.在更新了他的名字后,数据库会正确更新,但不会在配置文件页面中显示更新的名称.
当我浏览Joomla文档时,我发现用户数据存储在会话中(JFactory :: getUser()).如果我print_r($_SESSION)可以看到用户数据对象.此外,如果我退出,则再次登录更新的名称将显示在配置文件页面上.
如何在数据更新后如何在配置文件页面中显示更新详细信息?有没有办法在Joomla会话中更新会话数据而不是手动执行?
您应该使用JSession为用户的当前会话设置新数据
$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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3352 次 |
| 最近记录: |