這篇會展是簡單的登入檢查、登入的Session
建立、登出,這三個;主要是會使用到一些簡單的route
、laravel
的驗證、Session
的建立。廢話不多說,往下看吧。
首先建立一個簡單的view
用來查看目前登入狀態,建立的路徑是app/views/show/index.blade.php
,我刻意多開了一個show
資料夾。
1 2 3 4
| app ⌞views ⌞show ⌞index.blade.php
|
show/index.blade.php
的code如下(這邊可以先忽略變數怎麼來的…往下看你就可以知道了):
再來就是增加route
的設定,開啓routes.php
,加入下面的code:
routes.php1 2 3 4 5 6 7 8
| Route::post('login', ['uses' => 'HomeController@doLogin']);
Route::get('logout', ['uses' => 'HomeController@doLogout']);
Route::get('show', ['uses' => 'HomeController@show']);
|
這邊我都香要使用的方法都寫在HomeController
內。因此會依據網址的不同執行HomeController
內對應的方法。
HomeController.php
加入的code如下,解釋我都寫在註解上了。
HomeController.php1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| public function doLogin() { $rules = array( 'email' => 'required|email', 'password' => 'required|alphaNum|min:3' );
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails()) {
return Redirect::to('/') ->withErrors($validator) ->withInput(Input::except('password')); } else { $userdata = array( 'email' => Input::get('email'), 'password' => Input::get('password') );
if (Auth::attempt($userdata)) {
Session::put('login_success', 1);
return Redirect::to('/show'); } else { return Redirect::to('/'); } } }
public function doLogout() { Auth::logout();
Session::forget('login_seuccess'); return Redirect::to('/'); }
public function show() { $all_session_data = Session::all(); $data['all_session_data'] = $all_session_data;
if ( Session::has('login_success') && Auth::check() ) { $data['login_status'] = 'success'; } else { $data['login_status'] = 'failure'; }
$view = View::make('show.index', $data); return $view; }
|
如果登入成功的話,可以看到登入成功的訊息