在登录尝试的laravel中,我通常使用类似这样的东西
if (Auth::attempt(array('email' => $usernameinput, 'password' => $password), true))
{
// The user is being remembered...
}
基本上$ usernameinput将使用我桌上的电子邮件进行检查。
我正在考虑以不同的方式进行,例如我的表格中有电子邮件,用户名和密码。 $ usernameinput可以是我表格中的电子邮件或用户名字段。
如何使用以下条件进行Auth ::尝试:
(email==$usernameinput OR username==$usernameinput) AND password == $password
我读过一些文章,但我不明白你可以解释一下吗
答案 0 :(得分:0)
只需检查两种情况:
if (Auth::attempt(array('email' => $usernameinput, 'password' => $password), true) ||
Auth::attempt(array('username' => $usernameinput, 'password' => $password), true))
{
// The user is being remembered...
}
答案 1 :(得分:0)
假设您在用户名中不允许@
,您可以这样做:
$data['password] = $password;
if (strpos($usernameinput, '@') === false) {
$data['username'] = $usernameinput;
}
else {
$data['email'] = $usernameinput;
}
if Auth::attempt($data, true) {
// The user is being remembered...
}