检查用户是否已存在于 joomla 中

Check user if already exist in joomla

我只有电子邮件 ID,我想检查用户是否已经在网站上注册。 我知道通过 mysql 查询我可以检查它。但如果可能的话,我想用特定的 joomla 功能检查它?

 $mail_d = abc@gmail.com
    $db     =   JFactory::getDBO() ;
    $db->getQuery( true ) ;
    $query  =   "SELECT id FROM  #__users WHERE email = '".$mail_d."' " ;
    $db->setQuery($query) ;
    $check  =   $db->loadResult() ;
    if($check)
    {
        echo "User Exist";
    }

我已经用上面的代码检查过了。但是,如果 joomla 提供任何内置功能,请帮助。

您可以通过用户id和用户名获取用户的详细信息

//通过ID取数据

$userId = JFactory::getUser($id);

//通过用户名取数据

jimport('joomla.user.helper');
userId = JUserHelper::getUserId($username);

但不是通过电子邮件使用 Joomla API

userId = JFactory::getUser($email);  // Will not work

jimport('joomla.user.helper');
userId = JUserHelper::getUserId($email); // Will not work

所以你正在做的是唯一的方法,但可以用更好的方式编码

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query = 'SELECT id FROM #__users WHERE email = ' . $db->Quote($email);
$db->setQuery($query, 0, 1);
$check = $db->loadResult();

if($check){
 echo "user exists";
}