我已经完成了这个,但是遇到了一个小错误,找不到它在哪里。
这是我的控制器:
public function CreateUserProcess()
{
$user = new User;
$user->password = Hash::make(Input::get('password'));
$user->UserName = Input::get('UserName');
if($user->save())
{
return Redirect::to('createuser')->with('Message', 'User Details Saved Succesfully');
}
else
{
return Redirect::to('createuser')->with('Message', 'Error');
}
}
这是为了创建一个用户名和密码的用户,该用户名和密码具有默认的 laravel's BCrypt 哈希
这是我的登录控制器:
public function Login()
{
$UserName = Input::get('UserName');
$password = Input::get('password');
if (Auth::attempt(array('UserName' => $UserName, 'password' => $password)))
{
return Redirect::intended('dashboard');
}
else
{
$queries = DB::getQueryLog();
print_r(end($queries));
}
}
我的表只有 4 个字段:id、用户名、密码和remember_token
我可以创建用户,但我无法检查登录过程。
一旦用户名和密码发送到控制器,我就能看到它,但我被这一步卡住了
if (Auth::attempt(array('email' => $UserName, 'password' => $password)))
我正在犯什么错误,我该如何解决这个问题?
每当我尝试登录时,
我得到了这个
Array ( [query] => select * from `users` where `UserName` = ? limit 1 [bindings] => Array ( [0] => admin ) [time] => 0 )
为什么你的尝试中有电子邮件。
if (Auth::attempt(array('email' => $UserName, 'password' => $password)))
将其更改为
if (Auth::attempt(array('Username' => $UserName, 'password' => $password)))
if (Auth::attempt(array('UserName' => $UserName, 'password' => $password)))
检查数据库表中是否有"用户名"列,也许是"用户名"