我已经完成了这项工作,但遇到了一个小错误,无法找到它的位置。
这是我的控制器:
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的BCrypt Hashing创建具有UserName和Password的用户
这是我的登录控制器:
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,UserName,password和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 )
答案 0 :(得分:0)
为什么尝试发送电子邮件。
if (Auth::attempt(array('email' => $UserName, 'password' => $password)))
将其更改为
if (Auth::attempt(array('Username' => $UserName, 'password' => $password)))
答案 1 :(得分:0)
if (Auth::attempt(array('UserName' => $UserName, 'password' => $password)))
检查数据库表中是否有“UserName”列,也许是“用户名”