Форум русской поддержки Joomla!® CMS
03.12.2016, 06:32:06 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Пользователь по логину в виде числа

 (Прочитано 84 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Nickolay
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 10


« : 04.10.2016, 12:07:50 »

Добрый день!
Подскажите, как решить такую проблему?
Запрашиваю пользователя так:
$user = JFactory::getUser($login);
$aaa = $user->id; // Joomla ID
$bbb = $user->email;   // Email
$ccc = $user->name;
Все хорошо, но когда логин у пользователя чисто числовой (123456) он воспринимается как id пользователя и дает ошибку:
JUser: :_load: Не удалось загрузить пользователя с ID: 123456
Пробовал и так написать:
$user = JFactory::getUser((string)$login); - не помогает(
Как правильно запросить пользователя по числовому логину?
Записан
beliyadm
Профи
********

Репутация: +1566/-61
Offline Offline

Пол: Мужской
Сообщений: 8110


Севастополь == Россия


« Ответ #1 : 04.10.2016, 12:11:07 »

а зачем запрашивать пользователя по логину, когда логично запрашивать по ID и получать логин?
Код
$user = JFactory::getUser(99);

Вообще если честно не помню в API движка, чтобы можно было получать объект getUser через логин
Записан
Nickolay
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 10


« Ответ #2 : 04.10.2016, 12:14:13 »

Ну прочитал, что если передается строка - то воспринимается как логин, если целое число - то id
Так и срабатывает, но когда логин число - проблема
Записан
beliyadm
Профи
********

Репутация: +1566/-61
Offline Offline

Пол: Мужской
Сообщений: 8110


Севастополь == Россия


« Ответ #3 : 04.10.2016, 12:15:36 »

Ну прочитал, что если передается строка - то воспринимается как логин, если целое число - то id
А где, если не секрет, такое прочитали? Вот же официальная статья, только про ID https://docs.joomla.org/Accessing_the_current_user_object
Записан
Nickolay
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 10


« Ответ #4 : 04.10.2016, 12:23:22 »

в интернете прочитал))) у кого-то
чисто логически, должна быть такая возможность по логину понять хотя бы id
Записан
Nickolay
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 10


« Ответ #5 : 04.10.2016, 12:33:38 »

Если JFactory::getUser не позволяет "официально" и правильно так сделать, то как то в базе пользователей нужно искать по логину, я так понимаю. Может быть просто есть, что-то стандартное, позволяющее по логину определить id.
Записан
beliyadm
Профи
********

Репутация: +1566/-61
Offline Offline

Пол: Мужской
Сообщений: 8110


Севастополь == Россия


« Ответ #6 : 04.10.2016, 12:49:24 »

Если JFactory::getUser не позволяет "официально" и правильно так сделать, то как то в базе пользователей нужно искать по логину, я так понимаю. Может быть просто есть, что-то стандартное, позволяющее по логину определить id.
Вы опишите задачу полностью, что вы собираетесь делать. Самый распространенный способ выбрать данные пользователя - при знании его ID.
Найти юзера по логину можно простым запросом к БД
Код
SELECT * FROM #__users where username = 'вася'
Ну или через name, смотря как искать - по имени или логину
Записан
Nickolay
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 10


« Ответ #7 : 04.10.2016, 13:49:17 »

На сайте у меня реферальная система, где партнеры - пользователи Joomla, username - партнерский идентификатор.
Нужно при переходе посетителя с идентификатором username найти все параметры партнера в его пролфиле Joomla, ну и в расширенном профиле.
Все это сделано и работает, но с описанной проблемкой.
Буду очень благодарен (в оговоренных размерах))) если поможете решить эту задачу.
По сути нужно по username найти id Joomla пользователя.
« Последнее редактирование: 04.10.2016, 16:30:09 от Nickolay » Записан
Nickolay
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 10


« Ответ #8 : 04.10.2016, 14:05:31 »

для моего уровня понимания нужно как-то так:
$iduser = что-то...
Записан
SmokerMan
Профи
********

Репутация: +692/-25
Offline Offline

Пол: Мужской
Сообщений: 5215



« Ответ #9 : 04.10.2016, 14:26:41 »

Буду очень благодарен (в оговоренных размерах))) если поможете решить эту задачу.
уже дали выше пример, что еще нужно не совсем понятно)
можно воспользоваться хелпером, который делает то же самое
Код:
$user_id = JUserHelper::getUserId($username);
Записан
Nickolay
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 10


« Ответ #10 : 04.10.2016, 14:33:56 »

Вот теперь понятно)
сейчас попробую
Записан
Nickolay
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 10


« Ответ #11 : 04.10.2016, 14:40:05 »

Спасибо большое!
Теперь все хорошо, работает
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet