我嘗試在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