程序化joomla用户创建与登录显示冲突

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序化joomla用户创建与登录显示冲突相关的知识,希望对你有一定的参考价值。

好的,我们目前正在使用joomla的用户类来创建新的员工,在我们的员工页面中。它运行良好并成功创建新用户帐户。但是我们有一个问题,因为屏幕顶部的用户帐户按钮也依赖于对joomla用户对象的调用,一旦我们在创建后创建新用户,显示的名称就是我们刚创建的用户的名称。现在,一旦刷新或移动到另一个页面,问题就会消失。

如果我们希望避免此实例可能造成的混淆,那么将我们用于创建新用户的方法移出页面并将其转换为正确的单独文件可能是有意义的吗?或者它不值得,因为它没有其他影响,但一个临时名称解决没有用户方面的任何实际努力?

这是我们使用的代码:

$udata = array(
    "name"=>$_POST['firstName'].' '.$_POST['surName'],
    "username"=>$_POST['username'],
    "password"=>$_POST['password'],
    "password2"=>$_POST['password'],
    "email"=>$_POST['companyEmail'],
    "block"=>0,
    "groups"=>array("2","6")
);

$user = new JUser;
//Write to database
if(!$user->bind($udata)) {
    echo "<script>alert('Could not bind data. Error: ".$user->getError()."</script>";
}
if (!$user->save()) {
    echo "<script>alert('Could not save user. Error: " . $user->getError()."</script>";
} else { 
    echo "<script>alert('New User $user->id Created');</script>";
    // Script Here to enter additional details in usg_usg_staff table

该代码位于页面usg-staff.php中。或者删除user-> name call更明智?

答案

我终于解决了这个问题。我所要做的就是确保创建新用户后,通过使用JFactory :: getUser()将$ user变量设置回活动用户数据。我真的在想它。它只显示刚刚创建的用户,因为在我们的joomla表中创建用户之后我没有想过将其设置回来。

以上是关于程序化joomla用户创建与登录显示冲突的主要内容,如果未能解决你的问题,请参考以下文章

在 iPad App 中实现多用户聊天

iPad的选股区域与自定义div覆盖冲突

Asynctask结果显示重新创建片段后

片段 XXX 未与片段管理器关联

从 Iphone 到 ipad

如何防止片段在活动重新创建时触发 onCreate onCreateView