如何更改用户';joomla的密码是多少?
我正在为joomla编写一个自定义注册/授权模块,我想知道如何使用默认joomla方法更改用户密码?目前我有:如何更改用户';joomla的密码是多少?,joomla,joomla2.5,Joomla,Joomla2.5,我正在为joomla编写一个自定义注册/授权模块,我想知道如何使用默认joomla方法更改用户密码?目前我有: private function UpdateUser(){ $user = JFactory::getUser($this->user_data['username']); $user->set('password', $this->user_data['password']); $user->set('password2', $thi
private function UpdateUser(){
$user = JFactory::getUser($this->user_data['username']);
$user->set('password', $this->user_data['password']);
$user->set('password2', $this->user_data['password']);
// $user->bind();
$user->save();
}
但是密码没有更新
附言。
$this->user\u数据
包括关于用户的其他工作人员,但我只需要更新密码。已解决
private function UpdateUser($username, $password){
$user = JFactory::getUser($this->GetIdByUserName($username));
$password = array('password' => $password, 'password2' => $password);
if(!$user->bind($password)){
die('Could not bind data. Error: '.$user->getError());
}
if(!$user->save()){
die('Could not save user. Error: '.$user->getError());
}
}
private function GetIdByUserName($username){
$query = $this->db->getQuery(true);
$query->select('id');
$query->from('#__users');
$query->where('username=' . $this->db->Quote($username));
$this->db->setQuery($query);
if(isset($this->db->loadObject()->id) && !empty($this->db->loadObject()->id))
return $this->db->loadObject()->id;
else
die('No id');
}
需要注意的是,现在可以将用户名直接放入JFactory::getUser中:JFactory::getUser($username);