我无法弄清楚如何让用户的UID知道用户的名字。
用户名将由变量输入。我只需要在另一个变量中获取UID。
我发现这个代码很完美,但它在Drupal 7上不起作用:
$account = user_load(array('name' => check_plain($name)));
任何人都可以帮助我吗? 非常感谢!!
答案 0 :(得分:2)
试
$user = user_load_by_name($username);
$user_id = $user->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;
}
答案 1 :(得分:0)
查找用户的一种方法是使用entity_load('user');
。以下是如何执行此操作的示例:
// Add the user you want to find here
$user_to_lookup = 'test';
$users = entity_load('user');
$found_user = null;
foreach ($users as $user) {
if ($user->name == $user_to_lookup ) {
$found_user = $user;
}
}
用户对象现在存储在$found_user
中。请注意,它是一个stdClass,因此您需要使用箭头表示法来访问属性。例如,访问邮件写$found_user->mail
。