用户登录中的简单问题


Simple Issue in User Login

我已经完成了这个,但是遇到了一个小错误,找不到它在哪里。

这是我的控制器:

 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)))

检查数据库表中是否有"用户名"列,也许是"用户名"