2016-06-01 9 views
0

У меня есть только адрес электронной почты, и я хочу проверить, зарегистрирован ли пользователь на сайте. Я знаю по запросу mysql, я могу проверить его. но я хочу проверить его с помощью конкретной функции joomla, если это возможно?Проверьте, есть ли в joomla

$mail_d = [email protected] 
    $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

Вы можете получить подробную информацию пользователя через идентификатор пользователя и имя пользователя

// Получение данных с помощью 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"; 
} 
Смежные вопросы