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