我已经制作了一个登录脚本,我以前曾多次使用它,并且它一直工作得非常好,就像昨天这个项目一样。
我对这个项目所做的唯一真正的改变就是更新了一些东西,因为我认为是移民抱怨它已经超过30天了。我只是按照指示。
然而,现在脚本本身,我根本没有触及过。
我得出的结论是Auth::attempt
失败了,因为我知道脚本收到信息并连接到数据库,我知道传递给数据库的信息是正确的。仍然会返回false。
我的数据库中的密码列是一个varchar(100),正如我前面提到的那样,几天前工作得很好。读取其他线程,它必须至少60.我只是找不到错误,任何帮助将是非常appriciated。
public function doLogin()
{
$rules = array(
'username' => 'required|alphaNum|min:6|max:16',
'password' => 'required|alphaNum|min:6|max:16'
);
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails()) {
if(Request::ajax()){
return Response::json($validator->getMessages());
} else {
return Redirect::to('index')->withErrors($validator)->withInput(Input::except('password'));
}
return Redirect::to('index')
->withErrors($validator)
->withInput(Input::except('password'));
} else {
$userdata = array(
'username' => Input::get('username'),
'password' => Input::get('password')
);
if (Auth::attempt($userdata)) {
Session::set('user', $userdata['username']);
$username = $userdata['username'];
$userID = $this->get_id_by_string('users', 'username', $username);
Session::set('user_id', $userID);
return 'Inloggad';
} else {
return 'Fel användarnamn eller lösenord.';
}
}
}
它总是返回字符串Fel användarnamn eller lösenord.