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

时间:2016-06-01 09:42:56

标签: php joomla3.0

我只有电子邮件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提供任何内置功能,请提供帮助。

1 个答案:

答案 0 :(得分:2)

您可以通过用户ID和用户名

获取用户的详细信息

//通过ID

检索数据
$userId = JFactory::getUser($id);

//通过用户名

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

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

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

OR

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";
}