0

我尝试在 Laravel 4 中创建一个登录系统。为此,我Auth在其中使用 build。首先,我还没有创建注册页面,所以我在我的数据库中创建了一个用户。对于密码,我使用

echo Hash::make('密码');

它给了我一个哈希值,我粘贴在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

我做错了什么?

4

1 回答 1

7

您将回调作为第三个参数。将它移到数组中,它会起作用。

Route::post('/users/login/try', array('as' => 'loginTry', function() {
    //Your callback code here.
}));
于 2013-05-19T23:40:50.160 回答