我使用相同的以下方法登录用户。
但是,当我意外地回滚迁移然后执行migrate
时,我已成功注册用户但无法使用正确的凭据登录。
控制器代码:
public function index()
{
$cred = Input::only('username','password');
if(Auth::attempt($cred)){
return Redirect::intended('index');
}else{
$error = "Username or password is incorrect.";
return Redirect::to('login');
}
}
当我输入正确的凭据时。登录页面只是重新加载。
答案 0 :(得分:1)
我认为你很难解决。如果你遵循这个我想它会解决你的问题,如果不是这样,请告诉我,以便我可以进一步检查:
您需要有2个方法,一个用于查看表单,另一个用于接收用于记录过程的表单数据。
我假设您的索引接收来自提交的数据,您需要将提交的值用户名或电子邮件和密码传递给您的控制器,如下所示:
public function index(Request $request)
您的输入应该像数组一样:
$cred = array(
'username' => $request->get('username'),
'password' => $request->get('password')
);
请务必在页面顶部添加use\Auth;
,但namespace
下只有'email' => $request->get('email'),
。
要记住的另一件事是,在Laravel 5中,默认身份验证使用电子邮件而不是用户名。因此,请尝试将用户更改为电子邮件,如:
'email' => 'my@email.com',
'password' => 'myPassword'
最后,您可以直接将您的登录信息放在代码中进行直接测试,以测试它是否有效:
var_dump
您可以随时var_dump($cred);
结果
SUBSTRING()
您是否检查过您尝试登录的用户名和密码是否存在?