我尝试在Laravel 4中创建登录系统。为此,我使用Auth
构建它。首先,我还没有创建一个注册页面,所以我在我的数据库中创建了一个用户。对于密码,我用无法在Laravel 4中登录用户
echo Hash :: make('password');
它给了我一个散列,我粘贴在pass
字段。现在,我想登录的用户对于这一点,我创建了一个路线:
Route::post('/users/login/try', array('as' => 'loginTry'), function() {
$user = array(
'name' => Input::get('user'),
'pass' => Hash::make(Input::get('pass'))
);
if(Auth::attempt($user,true)) {
return Redirect::intended('dashboard');
} else {
return Redirect::to('/users/login');
}
});
和视图:
{{ Form::open(array('route' => 'loginTry')) }}
<p>{{ Form::label('user','Nazwa użytkownika') }} {{ Form::text('user') }}</p>
<p>{{ Form::label('pass','Hasło') }} {{ Form::password('pass') }}</p>
<p>{{ Form::submit('Zaloguj') }}</p>
{{ Form::close() }}
当我尝试提交表单,我得到
call_user_func_array() expects parameter 1 to be a valid callback, no array or string given
我做错了什么?
删除Hash :: make。 Auth :: attempt会自动添加它。 – Aristona
谢谢。虽然没有帮助。 –
看看Named Routes部分。 (http://four.laravel.com/docs/routing)你的回调必须在数组内,而不是第三个参数。 – Aristona