👋👋👋Em chào mọi người , hôm nay em viết bài này để làm phần login . Có chỗ nào em sai thì mọi người để lại comment để em sửa lại ạ 🥰🥰🥰
B1: tạo một project mới trong laravel mới với composer
B2: Tạo Layout trong view
B3: Tạo giao diện : đăng nhập
B4: Tạo Router để điều hướng đến trang login
Route::get('/login', 'LoginController@showLogin')->name('show.login');
B5: Tạo LoginController để xử lý chức năng
-Sử dụng câu lệnh để tạo :
php artisan make:controller LoginController
-Tạo một function để xử lý
public function showLogin()
{
return view(‘login’);
}
B6: Tạo View đăng nhập
Trong đó form có phương thức là POST và action là route có tên user.login
@extends(‘layouts.master’)
@section(‘content’)
<div class=”title m-b-md”>
Đăng nhập
</div>
<div class=”form-login”>
<form class=”text-left” method=”post” action=”{{ route(‘user.login’) }}”>
{{ csrf_field() }}
<div class=”form-group”>
<label for=”inputUsername”>Tên người dùng</label>
<input type=”text”
class=”form-control”
id=”inputUsername”
name=”inputUsername”
placeholder=”Enter username”
required>
</div>
<div class=”form-group”>
<label for=”inputPassword”>Password</label>
<input type=”password”
class=”form-control”
id=”inputPassword”
name=”inputPassword”
placeholder=”Password”
required>
</div>
<button type=”submit” class=”btn btn-primary”>Đăng nhập</button>
</form>
</div>
@endsection
B7:Tạo route điều hướng người dùng đến phương thức login() trong LoginController khi bấm nút đăng nhập
Route::post(‘/login’, ‘LoginController@login’)->name(‘user.login’);
B8:Tạo phương thức login để xử lý xác thực đăng nhập của người dùng
public function login(Request $request)
{
// Lấy thông tin đang nhập từ request được gửi lên từ trình duyệt
$username = $request->inputUsername; $password = $request->inputPassword;
// Kiểm tra thông tin đăng nhập
if ($username == 'admin' && $password == '123456') {
//Nếu thông tin đăng nhập chính xác, Tạo một Session lưu trữ trạng thái đăng nhập $request->session()->push('login', true); // Đi đến route show.blog, để chuyển hướng người dùng đến trang blog
return redirect()->route('show.blog');
}
// Nếu thông tin đăng nhập không chính xác, gán thông báo vào Session
$message = 'Đăng nhập không thành công. Tên người dùng hoặc mật khẩu không đúng.'; $request->session()->flash('login-fail', $message);
//Quay trở lại trang đăng nhập
return view('login');
}
B9: Kiểm tra thông tin đăng nhập
<!– Hiển thị thông báo đăng nhập thành công hay không –>
@if (Session::has(‘login-fail’))
<div class=”login-fail”>
<p class=”text-danger”>{{ Session::get(‘login-fail’) }}</p>
</div>
@endif
b10 : Kiểm tra trạng thái đăng nhập
Bước 11: Tạo Route để chuyển hướng người dùng sang trang BlogRoute::get('/blog', 'BlogController@showBlog')->name('show.blog');
Bước 12: Tạo BlogController trong đó có phương thức showBlog()
class BlogController extends Controller
{
public function showBlog(Request $request)
{
// Kiểm tra Session login có tồn tại hay không
if ($request->session()->has(‘login’) && $request->session()->get(‘login’)) {
// Session login tồn tại và có giá trị là true, chuyển hướng người dùng đến trang blog
return view(‘blog’);
}
// Session không tồn tại, người dùng chưa đăng nhập
// Gán một thông báo vào Session not-login
$message = ‘Bạn chưa đăng nhập.’;
$request->session()->flash(‘not-login’, $message);
// Chuyển hướng về trang đăng nhập
return view(‘login’);
}
}
Bước 13: Tạo view blog.blade.php
@extends(‘layouts.master’)
@section(‘content’)
<div class=”title m-b-md”>
Raising the bar
</div>
<a href=”{{ route(‘user.logout’) }}”>
<button type=”button” class=”btn btn-outline-primary”>Đăng Xuất</button>
</a>
<hr>
@endsection
Bước 14: Chỉnh sửa lại view login.blade.php
<!– Hiển thị trạng thái chưa đăng nhập –>
@if (Session::has(‘not-login’))
<div class=”not-login”>
<p class=”text-danger”>{{ Session::get(‘not-login’) }}</p>
</div>
@endif
B15: Chức năng đăng xuát
Điều hướng route đến trnag logout
Route::get(‘/logout’, ‘LogoutController@logout’)->name(‘user.logout’);
class LogoutController extends Controller
{
public function logout(Request $request)
{
// Xóa Session login, đưa người dùng về trạng thái chưa đăng nhập
$request->session()->flush();
return view('welcome');
}
}
1 comments On Cách Làm Login
Rất hữu ích, cảm ơn bạn đã chia sẻ.