Все разделы | CMS Joomla 2.5 | Общее | PHP | Javascript + jQuery
17 августа 2014
Для вывода информации авторизованного пользователя на сайте необходимо прописать следующий код:
$user = JFactory::getUser(); if (!$user->guest) { echo 'Вы авторизованы как:<br />'; echo 'Логин: ' . $user->username . '<br />'; echo 'Имя пользователя: ' . $user->name . '<br />'; echo 'id пользователя: ' . $user->id . '<br />'; }
В первой строке мы обращаемся к фреймверку для получения массива данных об авторизованном пользователе. После получения данных делаем проверку, авторизован ли пользователь. Если это так то выводим на экран данные: логин, имя пользователя, id.
Для того чтобы определить полный перечень передаваемых данных необходимо в коде вашего сайта после объявления переменной $user вывести на экран массив. Для этого будет использоваться функция var_dump.
$user = JFactory::getUser(); if (!$user->guest) { var_dump($user); }
Если пользователь авторизован то на экране можно увидеть похожую строку:
object(JUser)#16 (19) { ["id"]=> string(2) "62" ["name"]=> string(10) "Админ" ["username"]=> string(5) "admin" ["email"]=> string(20) "email@email.ru" ["password"]=> string(65) "f353fd73257c5f78870b22f9e9e4e5be:4AvkOAEiJZLyXxrI73CxZFxmlcxBWxxJ" ["password_clear"]=> string(0) "" ["usertype"]=> string(19) "Super Administrator" ["block"]=> string(1) "0" ["sendEmail"]=> string(1) "1" ["gid"]=> string(2) "25" ["registerDate"]=> string(19) "2012-08-21 15:26:40" ["lastvisitDate"]=> string(19) "2014-08-17 03:42:18" ["activation"]=> string(0) "" ["params"]=> string(60) "admin_language= language= editor=jce helpsite= timezone=10 " ["aid"]=> int(2) ["guest"]=> int(0) ["_params"]=> object(JParameter)#17 (7) { ["_raw"]=> string(0) "" ["_xml"]=> NULL ["_elements"]=> array(0) { } ["_elementPath"]=> array(1) { [0]=> string(66) "/home/k/kompas/public_html/libraries/joomla/html/parameter/element" } ["_defaultNameSpace"]=> string(8) "_default" ["_registry"]=> array(1) { ["_default"]=> array(1) { ["data"]=> object(stdClass)#18 (5) { ["admin_language"]=> string(0) "" ["language"]=> string(0) "" ["editor"]=> string(3) "jce" ["helpsite"]=> string(0) "" ["timezone"]=> string(2) "10" } } } ["_errors"]=> array(0) { } } ["_errorMsg"]=> NULL ["_errors"]=> array(0) { } }
Как уже быдо сказанно ранее все данные берутся из таблицы jos_users. В строке которую вернул скрипт видно что здесь есть все данные пользователя из данной таблицы. Конечно пароль вывести будет очень сложно, даже скорее невозможно, так как он закодирован в md5, но можно вывести на экран другую информацию, например, дата регистрации пользователя. Для вывода этой информации будем использовать параметр registerDate из массива.
$user = JFactory::getUser(); if (!$user->guest) { echo 'Дата регистрации пользователя: ' . $user->registerDate; }
Скрипт должен выдать подобный результат: Дата регистрации пользователя: 2012-08-21 15:26:40.