Есть ли какая-либо основная функция, чтобы получить uid от имени пользователя в Drupal? Или мне нужно выполнить db-запрос? мое поле является текстовым полем с '#autocomplete_path', равным 'user/autocomplete'Есть ли способ получить uid от имени пользователя в Drupal?
ответ
Вы можете использовать функцию user_load
. См http://api.drupal.org/api/function/user_load/6
В частности, см http://api.drupal.org/api/function/user_load/6#comment-6439
Так что вы могли бы сделать что-то вроде этого:
// $name is the user name
$account = user_load(array('name' => check_plain($name)));
// uid is now available as $account->uid
Там нет готовых функций API для этого, не то, что я знаю. Но вы можете сделать свой собственный, если вам нужно несколько мест. Это должно быть довольно простым и прямым запросом для db для uid.
Функция загрузки пользователь очень тяжелая, будет использовать больше ресурсов и возвращать больше данных, чем требуется, вот миленькая функция для вас:
function get_uid($username)
{
// Function that returns the uid based on the username given
$user = db_fetch_object(db_query("SELECT uid FROM users WHERE name=':username'", array(":username" => $username)));
return $user->uid;
}
Примечание: Этот код переработанное и вход спасшемся , поэтому код никоим образом не опасен.
Не помещайте электронную почту в stackoverflow в этом формате. Вы знаете, что вас прозвут –
wow, что очень опасно, потому что он принимает входные данные из формы ... google "injection attack" – ErichBSchulz
hey thanks, только что спешил, теперь обновит код –
Как-то я не мог сделать работу запроса, но я нашел это:
$user = user_load_by_name($username);
$user_id = $user->uid;
см: http://api.drupal.org/api/drupal/modules%21user%21user.module/function/user_load_by_name/7
Ваш answeer неплох, потому что он прост и может быть применен внутри пользовательской функции проверки для входа form (где пользовательский глобальный var еще не установлен) Большое вам спасибо!+1 – Roger
Вы можете получить всю информацию о вошедшего пользователя с глобальной переменной $user
.
Код:
<?php
global $user;
$uid = $user->uid;
echo $uid;
?>
Ваше решение является лучшим, но когда вам нужно сделать это внутри пользовательской функции проверки для формы входа, вам необходимо использовать решение Willem de Jong. +1 – Roger
- 1. Получить имя пользователя от имени (Drupal 7)
- 2. Есть ли способ получить общедоступную информацию в facebook от имени?
- 3. Есть ли способ определить, действителен ли UID пользователя Firebase?
- 4. Есть ли способ получить uid другого конца соединения сокета unix
- 5. Поиск Drupal по контенту от имени пользователя
- 6. Программно получать UID и GID от имени пользователя в Unix?
- 7. получить UID из url_alias в Drupal 7
- 8. Есть ли способ получить «char» от пользователя в java?
- 9. Есть ли способ в Java найти реальный UID, а не эффективный UID в Linux?
- 10. Есть ли способ получить текущий NSLocaleCountryCode пользователя?
- 11. Есть ли способ получить класс по имени?
- 12. Есть ли способ предотвратить кэширование имени пользователя в SDK?
- 13. Есть ли способ получить сообщения от конкретного пользователя
- 14. Есть ли способ получить имя пользователя Cognito в AWS Lambda?
- 15. Получить имя пользователя от имени пользователя JFileChooser
- 16. Есть ли способ отображения имени пользователя github в командной строке
- 17. Программно создайте пользователя drupal, а затем сохраните UID нового пользователя
- 18. Есть ли способ получить идентификатор пользователя из имени пользователя в google + с помощью googleapi?
- 19. Есть ли способ получить UID пользователя на машине Linux с помощью java?
- 20. получить идентификатор пользователя от имени пользователя - buddyPress
- 21. Есть ли способ получить идентификатор пользователя Firebase Auth?
- 22. Instagram получить идентификатор пользователя от имени пользователя
- 23. получить идентификатор пользователя от имени пользователя Instagram
- 24. Есть ли переносимый способ получить текущее имя пользователя в Python?
- 25. Drupal - получить идентификатор пользователя в скрипте, отличном от drupal
- 26. PHP MySQL Есть ли способ получить ключ столбца от ошибки
- 27. Есть ли способ получить IEqualityComparer от IComparer?
- 28. Как получить facebook uid пользователя в php
- 29. Есть ли способ получить диапазон от ObservableCollection?
- 30. Есть ли способ получить имя пользователя id/Twitter пользователя Twitter с реального имени человека?
Чтобы получить идентификатор пользователя, это довольно медленный способ сделать это, так как она включает в себя все модули, реализующие hook_user, создавая неизвестное количество запросов. – googletorp
@googletorp: Согласитесь, это медленно. Но я думал, что это будет проще для Хамида. Практически говоря, «node_load», который по своей концепции «user_load» похож на «user_load», очень часто встречается у Drupal, если я не ошибаюсь и в большинстве случаев не отрицательно влияет на производительность. Поэтому я подумал, что было бы неплохо порекомендовать 'user_load' –
Когда он сам спрашивает, должен ли он просто выполнить запрос db, я уверен, что он сможет это сделать. В конце концов, это не так сложно. – googletorp