[Bài 6]: tạo trang login Laravel
a) chuẩn bị: -Trước khi tạo 1 trang đăng nhập trong Laravel, bạn phải tạo một database ( ở đây mình dùng MySQL) có chứa 1 table gồm các trường: ID, name,email,password,remember_token. và kết nối nó với project. a) phần giao diện: -Ở đây mình sử dụng thêm bootstrap cho nhanh :D. Mình có 1 Form ...
a) chuẩn bị:
-Trước khi tạo 1 trang đăng nhập trong Laravel, bạn phải tạo một database ( ở đây mình dùng MySQL) có chứa 1 table gồm các trường: ID, name,email,password,remember_token. và kết nối nó với project.
a) phần giao diện:
-Ở đây mình sử dụng thêm bootstrap cho nhanh :D. Mình có 1 Form đăng nhập theo code này:
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 |
<div class="col-md-6 col-xs-offset-3" style="margin-top:100px;"> <form action="" method="post"> <input type="hidden" name="_token" value="{{ csrf_token() }}"> <div class="panel panel-info"> <div class="panel-heading"> Login </div> <div class="panel-body"> <div class="col-md-12" style="margin-top: 5px; color: #1997F8;"> <div class="col-md-4"> Username </div> <div class="col-md-8"> <input type="text" name="email" class="form-control" required> </div> </div> <div class="col-md-12" style="margin-top: 5px;color:#1997F8;"> <div class="col-md-4"> Password </div> <div class="col-md-8"> <input type="password" name="password" class="form-control" required> </div> </div> <?php echo Hash::make("123"); ?> <!-- nút submit --> <div class="col-md-12" style="margin-top: 5px; color: black;"> <div class="col-md-3 col-xs-offset-4"> <input type="submit" class="btn btn-info" value="Login"> </div> </div> </div> </div> </form> </div> |
đoạn code này cho ta 1 form đăng nhập như sau:
giao diện đã có, giờ các bạn cần tạo route để có thể gọi được đến nó.
trong Routes các bạn tạo các route như sau:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Route::get("/login",function(){ return view("login"); }); Route::post("/login",function(){ $email = Request::get("email"); $password = Request::get("password"); if(Auth::attempt(array("email"=>$email,"password"=>$password))){ return redirect("/admin/index"); } else{ return redirect("/login"); } }); Route::get("/admin/index",function(){ return view("admin.index"); }); |
tới đây các bạn đã có hoàn thành chức năng đăng nhập.
-form đăng nhập ở bài trước là mình sử dụng các hàm xây dựng sẵn của laravel ( dù sao cộng đồng phát triển thì nó cũng bảo mật hơn nên mình tin dùng. Nhanh và gọn gàng hơn tự code nhiều.).
a/ Database:
-Các bạn phải đảm bảo trong Database đã có 1 bảng là “users” chứa các thuộc tính: ID, name, email, password, remember_token, created_at, updated_at.
b/Routes:
-Vì mọi thao tác trong project Laravel đều thông qua file Routes, đương nhiên không ngoại trừ chức năng Login này. password khi sử dụng laravel với cách thức mình làm ở bài trước được mã hóa HASH.
c/File login.blade.php:
-Trong file này phải có câu lệnh:
1 |
<input type="hidden" name="_token" value="{{ csrf_token() }}"> |
** Để tìn hiểu thêm các thành phần của Laravel, xin mời các bạn tham khảo khóa học tại đây.