1. Giới thiệu về Session
Như các bạn đã học ở phần php nên mình sẽ không giải thích thêm về session nữa. Vậy chúng ta cùng bắt đầu đi vào sử dụng Session trong laravel
Đầu tiên để sử dụng với Session thì chúng ta phải khai báo use Session trong file controller
Session:: put(‘sessionName ‘, ‘sessionValue ‘);
Session::flash(SessionName,’sessionValue’);
Để kiểm tra sự tồn tại của session ta có cú pháp
Session::has(‘SessionName’);
Để lấy ra giá trị của session ta có cú pháp
Session::get(‘SessionName’)
Lưu ý các bạn có thể tìm hiểu thêm trên : https://laravel.com/docs/5.3/session
Với những giới thiệu giờ chúng ta bắt đầu quay lại với form nhé
2. Sử dụng Session trong xây dựng trang login
Trong bài trước mình đã giới thiệu với các bạn các thông báo lỗi. Nhưng ở bài này mình sẽ giới thiệu cho các xây dựng thông báo lỗi mà chúng ta có thể sử dụng nó
- Đầu tiên để sử dụng thư viện Session chúng ta sử dụng use Session; trên controller LoginController
- Mở file LoginController chúng ta thay đổi lại như sau:
1 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 | public function postLogin(Request $request){ $rules = [ 'user'=>'required', 'pass'=>'required', ]; $messages = [ 'user.required'=>'tài khoản không được để trống', 'pass.required'=>'mật khẩu không được để trống', ]; $Validator = Validator::make($request->all(),$rules,$messages); if($Validator->fails()){ return redirect()->back()->withErrors($Validator); } else{ $arr = [ 'user_name'=>$request->user, 'user_pass'=>md5($request->pass), ]; if(DB::table('vietpro_users')->where($arr)->count()==1){ $data = DB::table('vietpro_users')->where($arr)->first(); Session::flash('success','đăng nhập thành công'); } else{ Session::flash('error','đăng nhập thất bại'); } } } |
Như vậy ta đã tạo Session cho các thông báo lỗi. Vậy giờ muốn lấy ra thì chúng ta chỉ kiểm tra xem nó có tồn tại không và lấy nó ra
- Chúng ta sẽ xóa hết thông báo lỗi ở bên view và trong views/errors ta tạo ra 1 file note.blade.php . mục đích tạo ra file này là để khi cần thông báo lỗi chúng ta chỉ cần include vào thôi
- Mở file note.blade.php lên và bắt đầu kiểm tra nó
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | @if(count($errors)>0) @foreach($errors->all() as $error) <p class="alert alert-danger">{{$error}}</p> @endforeach @endif @if(Session::has('error')) <p class="alert alert-danger">{{Session::get('error')}}</p> @endif @if(Session::has('success')) <p class="alert alert-success">{{Session::get('success')}}</p> @endif |
- Tiếp theo chúng ta sử dụng @include(‘errors.note’) vào trong file login và chúng ta hãy ra ngoài trình duyệt xem lại kết quả nhé
Cám ơn các bạn đã theo dõi, ở bài sau mình sẽ hướng dẫn Xây dựng trang quản trị và kiểm soát đăng nhập MIDDLEWERE. Hẹn gặp lại các bạn ở bài kế tiếp
Bắt đầu học laravel tại đây.
Tác giả: Tuân Nguyễn VietPro