繁体   English   中英

编程式joomla用户创建与登录显示冲突

[英]programmatic joomla user creation conflict with login display

好的,所以我们当前正在使用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调用更明智?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM