
Minh họa đăng nhập đăng xuất trong laravel
♯ Tham khảo: Dịch vụ thiết kế và phát triển website
♯ Tham khảo: Khóa học thiết kế, dàn trang của Quốc Bửu Group
♯ Tham khảo: Khóa học lập trình website của Quốc Bửu Group

Cấu trúc thư mục và file trong Laravel
- app: là thư mục chứa các file cấu hình, xử lý , điều hướng của toàn bộ sourse code, các thư mục con cần chú ý để lập trình website như sau:
+ Model: chứa các model thao tác truy vấn dữ liệu với database (hệ quản trị cơ sở dữ liệu)
+ Controller: Chứa các controller cha hoặc con, lập trình viên tự tạo ra để phục vụ cho chức năng xử lý dữ liệu, điều hướng.
- bootstrap: thư mục chứa file cài đặt các biến cơ bản của laravel, không nên thay đổi cài đặt trong mục này cứ để mặc định.
- config: thư mục chứa các file cấu hình laravel như mail, ngôn ngữ, thời gian, ...
- database: nơi chứa các file xây dựng và khởi tạo cơ sở dữ liệu
- public: thư mục chứa các file dùng chung cho toàn trang web, ví dụ như css, js, images, ... lập trình viên tự thiết kế các file bên trong sao cho hợp lý.
- resources: chứa các file hiển thị của toàn bộ trang web, trong đó có các file template mẫu do lập trình viên sáng tạo ra áp dụng cho nhiều trang hoặc mục đích hiển thị để tiết kiệm thời gian.
- routes.php: thư mục quan trọng chứa các file điều hướng đến Controller xử lý dữ liệu, các file cần chú ý:
+ web.php: File điều hướng cho toàn trang web
+ api.php: Phát triển api web service (lập trình nâng cao)
- storage: nơi chứa các file lưu trữ của laravel như log, cache, ...
- tests: chứa các file test (bỏ qua thư mục này vì nó không có tác dụng gì)
- vendor: thư mục chứa các thư viện làm việc của laravel, có thể thêm mới thư viện bằng các câu lệnh của quy định của Laravel Framework.
- .env: file môi trường cấu hình chung cho website như email, cấu hình đường dẫn cơ sở dữ liệu, APP_KEY bảo mật,...
Mở thư mục chứa sourse web đã hoàn thành ở lesson 02 để sử dụng tiếp tục cho bài học hôm nay.
Bước 1: Mở file web.php (D:\xampp\htdocs\laravelcoban.com\routes/web.php) thêm đường dẫn sau.
Route::get('/', 'Homecontroller@home');
Route::post('/login', 'UserController@postlogin');
Route::get('/logout', 'UserController@logout');
Route::get('/admin', 'UserController@admin');
Bước 2: Tạo trang master.blade.php trong thư mục resources/views của project , file có chức năng làm template mẫu chocác trang khác áp dụng nó, chú ý 2 file @yield('title') và @yield('content') là chỗ thay thê được dùng ở các trang khác, phần này các bạn sẽ được học trong khóa học php nâng cao với Laravel Framework
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>@yield('title')</title>
</head>
<body>
<div class="container">
@yield('content')
</div>
</body>
</html>
Bước 3: Tạo trang home.blade.php trong thư mục resources/views của project, đây là trang hiển thị nội dung trang chủ, nó kế thừa html từ trang master.blade.php
@extends('master')
@section('title', 'Trang chủ')
@section('content')
<p>
{{ csrf_field() }}
<span>Tài khoản</span>
<br/>
<input type="text" name="txtName" placeholder="Nhập tài khoản" />
<br/>
<span>Mật khẩu</span>
<br/>
<input type="password' name="txtPass" placeholder="Nhập mật khẩu" />
<br/>
<input type="submit" value="Đăng nhập" />
</p>
@stop
Bước 4: Tạo HomeController.php trong thư mục App\Http\Controllers/ để xử lý dữ liệu trang home, thêm đoạn code xử lý vào
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class HomeController extends Controller{
public function home() {
return view('home');
}
}
Bước 5: Mở trình duyệt gõ vào laravelcoban.com để xem kết quả

Giao diện trang chủ
Bước 6: Tạo trang UserController.php trong thư mục App\Http\Controllers/ để xử lý đăng nhập, thêm đoạn code sau vào
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\User;
use Session;
class UserController extends Controller{
public function __construct() {
@session_start();
}
public function postlogin(Request $request){
if($request->username == '' || $request->password == ''){
return redirect('/')->with('notice', 'Tài khoản và mật khẩu không được để trống.');
}
if($request->username == 'admin' && $request->password == '123456'){
$_SESSION['admin'] = 'Admin';
return redirect('admin');
}else{
return redirect('/')->with('notice', 'Tài khoản hoặc mật khẩu chưa chính xác.');
}
}
}
Bước 7: Mở file home.blade.php trong thư mục resources/views thêm đoạn code bắt lỗi đăng nhập sau vào, click nút đăng nhập để xem kết quả.
@extends('master')
@section('title', 'Trang chủ')
@section('content')
<div class="col-md-12 home_style">
<p><b>Chào mừng bạn đến với khóa học Laravel cơ bản</b></p>
@if(session('notice'))
<p style="color:red">
{{session('notice')}}
</p>
@endif
<form action="/login" method="post">
{{ csrf_field() }}
Tài khoản <br/>
<input type="text" placeholder="Nhập tài khoản" name="username" >
<br/>
Mật khẩu
<br/>
<input type="password" placeholder="Nhập mật khẩu" name="password">
<br/>
<button type="submit">Đăng nhập</button>
</form>
</div>
@stop

Bắt lỗi đăng nhập trong laravel
Bước 8: Tạo file admin.blade.php trong thư mục resources/views để hiển thị thông tin đăng nhập thành công, nhập đoạn code sau vào
@extends('master')
@section('title', 'Trang quản trị website')
@section('content')
<div class="col-md-12 home_style">
<p><b>Chào mừng bạn đến trang quản trị website</b></p>
@if(isset($_SESSION['admin']) && count($_SESSION['admin']) > 0)
<p style="color:blue">
Xin chào: {{$_SESSION['admin']}}
</p>
@endif
<p>
<a href="/logout">Thoát</a>
</p>
</div>
@stop
Bước 9: Mở trình duyệt gõ vào laravelcoban.com nhập username = admin và mật khẩu 123456 sau đó click vào nút đăng nhập để test, kết quả nếu đăng nhập thành công sẽ có thông báo

Đăng nhập thành công
Bước 1: Mở file UserController.php trong thư mục App\Http\Controllers/ tạo function logout xử lý đăng xuất, khi click vào nút thoát sẽ trỏ đến function đăng xuất này, thêm đoạn code sau vào và lưu lại:
public function logout(){
$_SESSION['admin'] = '';
return redirect('/')->with('notice', 'Bạn đã đăng xuất thành công khỏi hệ thống');
}
Bước 2: Click vào nút thoát để test chức năng.

Mo tả đăng xuất thành công
Đây chỉ là bài test về chức năng đăng nhập đăng xuất, trên thực tế cần phải làm những việc sau để hoàn thiện chức năng đăng nhập, đăng xuất
1/ Kết nối cơ sở dữ liệu (database)
2/ Sử dụng chức năng Auth của laravel để code đăng nhập (check lỗi chuyên nghiệp và bảo mật hơn)
3/ Bắt lỗi từ form trước khi gửi dữ liệu lên xử lý.
4/ Phân quyền cho user để xử lý các chức năng trên website
Chúc các bạn thành công trong công việc !
Nhấc máy lên và gọi cho chúng tôi để được tư vấn về khóa học thiết kế website với PHP Laravel Framework và MYSQL online tại 63 tỉnh thành, mọi thông tin tư vấn xin vui lòng gửi về email quocbuugroup@gmail.com hoặc các phương tiện khác bên dưới.
Tạo trang đăng nhập đăng xuất với Laravel
0937.587.087
Bạn đang cần tư vấn dịch vụ, than phiền dịch vụ hoặc đóng góp ý kiến?
Quốc Bửu Group luôn luôn lắng nghe, tiếp nhận và xử lý một cách triệt để, xin vui lòng gọi số hotline hoặc gửi thông tin yêu cầu bên dưới, chúng tôi sẽ liên hệ với bạn trong thời gian sớm nhất có thể.
Địa chỉ: 278/19 Đường Trần Thị Cờ, Phường Thới An, Quận 12, TPHCM
Email: quocbuugroup@gmail.com
Website: www.quocbuugroup.com
Thời gian làm việc: Từ thứ 2 - thứ 7, 08h00 - 17h00
• Hà Nội: 268 Lò Đúc, Phạm Đình Hổ, Hai Bà Trưng, Hà Nội
• Bình Dương: 230 Bạch Đằng, Lái Thiêu, Thuận An, Bình Dương
• Đồng Nai: Lô F, KCN Long Khánh, Bình Lộc, Thị Xã Long Khánh, Đồng Nai
• Bình Thuận: 407 đường DT 720, Suối Kiết, Tánh Linh, Bình Thuận
• Long An: 124 Lê Cao Dòng, Phường 2, Tân An, Long An
• Tiền Giang: Số 24 ấp 1, Xã An Thái Trung, Cái Bè, Tiền Giang
• Đắk Lắk: 559 Lê Hồng Phong, Tân Tiến, TP. Buôn Ma Thuột, Đắk Lắk
• Quảng Ngãi: Thôn Tây, An Vinh, Lý Sơn, Quảng Ngãi
• Quảng Nam: AH1, Tam Hiệp, Núi Thành, Quảng Nam
• Vĩnh Phúc: Số 179 Mê Linh, Khai Quang, Vĩnh Yên, Vĩnh Phúc
• Hải Phòng: 407 Dư Hàng, Hồ Nam, Lê Chân, Hải Phòng
• Cần Thơ: 240 Cách Mạng Tháng 8, Cái Khế, Ninh Kiều, Cần Thơ
• Bến Tre: 459 Đại Lộ Đồng Khởi, Phú Khương, Bến Tre
• Khánh Hòa: 1058 Cao Thắng, Phước Trung, TP. Nha Trang, Khánh Hòa
• Phú Yên: 1500 Nguyễn Hữu Thọ, Phường 9, Tuy Hòa, Phú Yên
• Vĩnh Long: 99 Phạm Thái Bường, Phường 4, Vĩnh Long
• Đà Nẵng: 450 Lương Nhữ Hộc, Khuê Trung, Cẩm Lệ, Đà Nẵng
• Thừa Thiên Huế: 638 Nguyễn Huệ, Vĩnh Ninh, TP. Huế, Thừa Thiên Huế
• Quảng Trị: 802 Tôn Thất Thuyết, Phường 5, Đông Hà, Quảng Trị
• Thanh Hóa: 145 Nguyễn Trãi, P. Điện Biên, TP. Thanh Hóa, Thanh Hoá
• Nam Định: 210 Nguyễn Công Trứ, Lộc Hoà, TP. Nam Định, Nam Định
• Thái Nguyên: 124 Lương Ngọc Quyến, Phan Đình Phùng, TP. Thái Nguyên, Thái Nguyên
• Yên Bái: 49 Bắc Cường, P. Yên Ninh, Thành phố Yên Bái, Yên Bái
• Gia Lai: 309 Nguyễn Tất Thành, Phù Đổng, Thành phố Pleiku, Gia Lai
• Kon Tum: 2157 Phan Chu Trinh, Thắng Lợi, Kon Tum
• Lâm Đồng: 385 Đường Nguyễn Văn Cừ, Phường 1, TP. Đà Lạt, Lâm Đồng
Họ và tên *
Số điện thoại *
Địa chỉ
Lời nhắn *
Mã đơn hàng *
Số điện thoại *
Đăng ký trở thành đối tác liên kết với Quốc Bửu Group để được tìm kiếm Khách Hàng & Hợp Đồng với chi phí rẽ nhất chỉ 10% / hợp đồng (Riêng ngành xây dựng áp dụng từ 3 - 5%) ★ Xem Báo Giá Chi Tiết ★
Họ và tên *
Số điện thoại *
Địa chỉ
Lời nhắn *