gpt4 book ai didi

php - drupal 7 以编程方式登录用户

转载 作者:IT王子 更新时间:2023-10-29 00:10:02 26 4
gpt4 key购买 nike

刚刚注册了一个新帐户并创建了个人资料后,我将如何登录用户?

我试过了:

global $user;
$user = user_load($account->uid);

global $user;
$user = user_load(array('mail' => $_POST['email'], 'pass' => trim($_POST['password'])));

但两者都不起作用,第二个会导致有关 array_flip 的错误。

最佳答案

我将回答这个问题以供将来引用,因为上面的第三个答案是错误的,第一个答案会起作用但没有必要(它复制了用户提交登录表单、调用所有验证器等的体验,并且大概您已经完成了该验证,或者您不会尝试直接登录用户。

这将按预期工作,假设您有来自您自己的表单或函数的 $username$password,并且您知道用户没有登录:

if ($uid = user_authenticate($username, $password)) {
global $user;
$user = user_load($uid);

$login_array = array ('name' => $username);
user_login_finalize($login_array);
}

首先验证您拥有的用户名和密码。如果您返回非零 UID,则身份验证成功。您创建一个数组来提供原始登录表单中可能需要的一条信息,并将其传递给 user_login_finalize()。 ,它会完成所有其余的工作(不仅重新生成 session ,还正确记录登录,并调用登录 Hook )。

关于php - drupal 7 以编程方式登录用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8078266/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com