Workflow chức năng Đăng xuất
- Khi đăng nhập (login) thành công thì chúng ta đã lưu trữ tên người dùng đăng nhập vào `$_SESSION['kh_tendangnhap_logged']`
- Vậy khi Đăng xuất, chúng ta đơn giản chỉ cần xóa bỏ key
kh_tendangnhap_logged
ra khỏi SESSION là được.
Step 1: tạo file Đăng xuất
- Tạo file
/backend/auth/logout.php
- Nội dung file:
<?php // hàm `session_id()` sẽ trả về giá trị SESSION_ID (tên file session do Web Server tự động tạo) // - Nếu trả về Rỗng hoặc NULL => chưa có file Session tồn tại if (session_id() === '') { // Yêu cầu Web Server tạo file Session để lưu trữ giá trị tương ứng với CLIENT (Web Browser đang gởi Request) session_start(); } // Chức năng Đăng xuất đơn giản là xóa giá trị của người dùng đã đăng nhập trong SESSION // Và điều hướng người dùng về trang chúng ta mong muốn // Nếu trong SESSION có giá trị của key 'kh_tendangnhap_logged' <-> người dùng đã đăng nhập thành công // => xóa bỏ giá trị trong SESSION và Điều hướng người dùng về trang DASHBOARD if(isset($_SESSION['kh_tendangnhap_logged'])) { unset($_SESSION['kh_tendangnhap_logged']); header('location:login.php'); } else { echo 'Người dùng chưa đăng nhập. Không thể đăng xuất dược!'; die; }
Mục lục
Chương trình học
- Bức tranh tổng thể về Lập trình WEB 1
- Cài đặt môi trường Lập trình PHP 1
-
PHP căn bản
6
- PHP là gì? Viết chương trình PHP đầu tiên #1237
- Các kiểu dữ liệu (data types), biến (variables), hằng số (constant), toán tử (operators) trong ngôn ngữ lập trình PHP #1242
- Bài tập Kiểm tra cú pháp PHP #1285
- Trình diễn (render) dữ liệu Đơn giản ra giao diện (HTML, CSS, JS) sử dụng PHP #8696
- Trình diễn (render) dữ liệu Danh sách Array ra giao diện (HTML, CSS, JS) sử dụng PHP #9564
- Bài tập trình diện (render) tổng hợp: hiển thị mẫu in Hóa đơn bán hàng Nền tảng #11773
- Cấu trúc điều khiển trong PHP
- PHP Nâng cao 7
- Bài tập thực hành 3
- Thực hiện Dự án PHP thực tế mẫu - sử dụng PHP thuần 3
- Thu thập và Xử lý dữ liệu từ Client đến Server trong PHP 3
-
Thao tác với Cơ sở dữ liệu MySQL
9
- Quy trình (workflow) xử lý thao tác với cơ sở dữ liệu MySQL trong PHP #9623
- Tạo kết nối đến CSDL MySQL trong PHP #8116
- Thực thi câu lệnh INSERT trong PHP #8118
- Thực thi câu lệnh UPDATE trong PHP #8120
- Thực thi câu lệnh DELETE trong PHP #8122
- Thực thi câu lệnh SELECT trong PHP #8124
- Thực thi câu lệnh INSERT với FORM trong PHP #8126
- Thực thi câu lệnh DELETE với FORM trong PHP #8130
- Thực thi câu lệnh UPDATE với FORM trong PHP #8133
-
Dự án thực tế mẫu (PHP thuần) - Trang web bán hàng trực tuyến - Thiết kế Backend
17
- Khái niệm về bố cục (layouts) trong thiết kế giao diện Web / App #10538
- Thiết kế bố cục (layouts) cho giao diện Backend sử dụng PHP thuần #8740
- Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) cho danh mục Phẳng - Index #8748
- Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) cho danh mục Phẳng - Create #9291
- Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) cho danh mục Phẳng - Delete #9293
- Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) cho danh mục Phẳng - Edit #9292
- Ràng buộc dữ liệu (validation) #8761
- Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) cho danh mục cho Liên kết Khóa ngoại #8781
- Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) upload hình Sản phẩm (upload đơn, mỗi lần 1 file) #8799
- Tạo trang Đăng nhập trong Backend #8823
- Tạo trang Đăng xuất trong Backend #8826
- Tạo Web API lấy dữ liệu báo cáo thống kê #8834
- Tạo trang Bảng tin (Dashboard) #8758
- Tạo chức năng Quản lý Đơn hàng dạng Master Detail (lưu một dòng cha và nhiều dòng con) - Index #8856
- Tạo chức năng Quản lý Đơn hàng dạng Master Detail (lưu một dòng cha và nhiều dòng con) - In ấn Print #8858
- Tạo chức năng Quản lý Đơn hàng dạng Master Detail (lưu một dòng cha và nhiều dòng con) - Xóa Delete #8862
- Tạo chức năng Quản lý Đơn hàng dạng Master Detail (lưu một dòng cha và nhiều dòng con) - Thêm mới Create #8861
-
Dự án thực tế mẫu (PHP thuần) - Trang web bán hàng trực tuyến - Thiết kế Frontend
7
- Thiết kế bố cục (layouts) cho giao diện Frontend sử dụng PHP thuần #8868
- Thực hiện Trang chủ Frontend #8873
- Thực hiện Trang Giới thiệu About #8876
- Thực hiện Trang Liên hệ Contact (Có gởi mail Thông báo) #8879
- Thực hiện Trang Chi tiết Sản phẩm Product Detail #8944
- Thực hiện Trang Giỏ hàng Cart #8978
- Thực hiện Trang Thanh toán #9049
- Bảo mật Trang web PHP 2
-
Tài liệu Tham khảo
11
- Tài liệu Tham khảo #7933
- Cách export (dump) cơ sở dữ liệu MySQL bằng HeidiSQL #8343
- Đệ quy đa cấp trong PHP #8495
- Tạo bố cục (layout) trang web sử dụng INCLUDE REQUIRE trong PHP #8523
- Bài tập tổng hợp - Tạo trang web đọc Truyện Tranh và Tiểu Thuyết Online #9006
- Cách triển khai Web lên Hosting free ByetHost #9052
- Nguyên nhân và cách xử lý lỗi Warning: Cannot modify header information - headers already sent by #9917
- Cách triển khai Web lên Hosting free 000WebHost #9959
- Cách tích hợp chứng thực tài khoản bằng Google vào trang web #9973
- Source code Tham khảo Learning.NenTang.vn #10394
- Database mẫu ví dụ Bán hàng Salomon #11808
- Nộp đồ án 1
-
Thao tác với cơ sở dữ liệu MySQL bằng kỹ thuật AJAX
8
- Tạo API cho chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Index #9777
- Tạo API cho chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Create #9781
- Tạo API cho chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Edit #9783
- Tạo API cho chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Delete #9784
- Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Index #9773
- Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Create #9774
- Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Edit #9775
- Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Delete #9776
- Video Live Stream 1
- Lập trình hướng đối tượng OOP (Object Oriented Programming) trong PHP 1
Các bài học
Bài học trước Bài học tiếp theo
Chương trình học
Bao gồm Module, Chương, Bài học, Bài tập, Kiểm tra...Chương trình học
- Bức tranh tổng thể về Lập trình WEB 1
- Cài đặt môi trường Lập trình PHP 1
-
PHP căn bản
6
- PHP là gì? Viết chương trình PHP đầu tiên #1237
- Các kiểu dữ liệu (data types), biến (variables), hằng số (constant), toán tử (operators) trong ngôn ngữ lập trình PHP #1242
- Bài tập Kiểm tra cú pháp PHP #1285
- Trình diễn (render) dữ liệu Đơn giản ra giao diện (HTML, CSS, JS) sử dụng PHP #8696
- Trình diễn (render) dữ liệu Danh sách Array ra giao diện (HTML, CSS, JS) sử dụng PHP #9564
- Bài tập trình diện (render) tổng hợp: hiển thị mẫu in Hóa đơn bán hàng Nền tảng #11773
- Cấu trúc điều khiển trong PHP
- PHP Nâng cao 7
- Bài tập thực hành 3
- Thực hiện Dự án PHP thực tế mẫu - sử dụng PHP thuần 3
- Thu thập và Xử lý dữ liệu từ Client đến Server trong PHP 3
-
Thao tác với Cơ sở dữ liệu MySQL
9
- Quy trình (workflow) xử lý thao tác với cơ sở dữ liệu MySQL trong PHP #9623
- Tạo kết nối đến CSDL MySQL trong PHP #8116
- Thực thi câu lệnh INSERT trong PHP #8118
- Thực thi câu lệnh UPDATE trong PHP #8120
- Thực thi câu lệnh DELETE trong PHP #8122
- Thực thi câu lệnh SELECT trong PHP #8124
- Thực thi câu lệnh INSERT với FORM trong PHP #8126
- Thực thi câu lệnh DELETE với FORM trong PHP #8130
- Thực thi câu lệnh UPDATE với FORM trong PHP #8133
-
Dự án thực tế mẫu (PHP thuần) - Trang web bán hàng trực tuyến - Thiết kế Backend
17
- Khái niệm về bố cục (layouts) trong thiết kế giao diện Web / App #10538
- Thiết kế bố cục (layouts) cho giao diện Backend sử dụng PHP thuần #8740
- Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) cho danh mục Phẳng - Index #8748
- Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) cho danh mục Phẳng - Create #9291
- Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) cho danh mục Phẳng - Delete #9293
- Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) cho danh mục Phẳng - Edit #9292
- Ràng buộc dữ liệu (validation) #8761
- Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) cho danh mục cho Liên kết Khóa ngoại #8781
- Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) upload hình Sản phẩm (upload đơn, mỗi lần 1 file) #8799
- Tạo trang Đăng nhập trong Backend #8823
- Tạo trang Đăng xuất trong Backend #8826
- Tạo Web API lấy dữ liệu báo cáo thống kê #8834
- Tạo trang Bảng tin (Dashboard) #8758
- Tạo chức năng Quản lý Đơn hàng dạng Master Detail (lưu một dòng cha và nhiều dòng con) - Index #8856
- Tạo chức năng Quản lý Đơn hàng dạng Master Detail (lưu một dòng cha và nhiều dòng con) - In ấn Print #8858
- Tạo chức năng Quản lý Đơn hàng dạng Master Detail (lưu một dòng cha và nhiều dòng con) - Xóa Delete #8862
- Tạo chức năng Quản lý Đơn hàng dạng Master Detail (lưu một dòng cha và nhiều dòng con) - Thêm mới Create #8861
-
Dự án thực tế mẫu (PHP thuần) - Trang web bán hàng trực tuyến - Thiết kế Frontend
7
- Thiết kế bố cục (layouts) cho giao diện Frontend sử dụng PHP thuần #8868
- Thực hiện Trang chủ Frontend #8873
- Thực hiện Trang Giới thiệu About #8876
- Thực hiện Trang Liên hệ Contact (Có gởi mail Thông báo) #8879
- Thực hiện Trang Chi tiết Sản phẩm Product Detail #8944
- Thực hiện Trang Giỏ hàng Cart #8978
- Thực hiện Trang Thanh toán #9049
- Bảo mật Trang web PHP 2
-
Tài liệu Tham khảo
11
- Tài liệu Tham khảo #7933
- Cách export (dump) cơ sở dữ liệu MySQL bằng HeidiSQL #8343
- Đệ quy đa cấp trong PHP #8495
- Tạo bố cục (layout) trang web sử dụng INCLUDE REQUIRE trong PHP #8523
- Bài tập tổng hợp - Tạo trang web đọc Truyện Tranh và Tiểu Thuyết Online #9006
- Cách triển khai Web lên Hosting free ByetHost #9052
- Nguyên nhân và cách xử lý lỗi Warning: Cannot modify header information - headers already sent by #9917
- Cách triển khai Web lên Hosting free 000WebHost #9959
- Cách tích hợp chứng thực tài khoản bằng Google vào trang web #9973
- Source code Tham khảo Learning.NenTang.vn #10394
- Database mẫu ví dụ Bán hàng Salomon #11808
- Nộp đồ án 1
-
Thao tác với cơ sở dữ liệu MySQL bằng kỹ thuật AJAX
8
- Tạo API cho chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Index #9777
- Tạo API cho chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Create #9781
- Tạo API cho chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Edit #9783
- Tạo API cho chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Delete #9784
- Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Index #9773
- Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Create #9774
- Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Edit #9775
- Tạo chức năng CRUD (Xem-Read, Thêm-Create, Sửa-Edit, Xóa-Delete) bằng kỹ thuật AJAX cho danh mục Phẳng - Delete #9776
- Video Live Stream 1
- Lập trình hướng đối tượng OOP (Object Oriented Programming) trong PHP 1
Bài học trước Bài học tiếp theo
Menu Tiện ích
Menu Hướng dẫn Học tập
❤🧡💛💚💙💜 Học là phải THỰC HÀNH ❤🧡💛💚💙💜
Thực hiện các bước tuần tự theo nội dung Bài học nhé!