用户登录中的简单问题

时间:2014-12-29 10:28:19

标签: php validation laravel laravel-4

我已经完成了这项工作,但遇到了一个小错误,无法找到它的位置。

这是我的控制器:

 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 )

2 个答案:

答案 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”列,也许是“用户名”