Xác thực người dùng là một cơ chế bảo mật tiêu chuẩn, Nó cho phép người dùng được xác định truy cập vào bất kỳ ứng dụng hoặc trang web kỹ thuật số nào. Nó ngăn chặn nghiêm ngặt người dùng không xác định truy cập web hoặc ứng dụng di động
Chúng tôi sử dụng các sản phẩm kỹ thuật số như Facebook, Twitter, Gmail trong cuộc sống hàng ngày và chúng tôi gần như quen thuộc với cơ chế đăng ký và đăng nhập của người dùng. Bạn tạo một tài khoản trước khi đăng nhập vào các ứng dụng này theo cách này bạn có thể sử dụng các tính năng của chúng
Chúng ta sẽ học gì
Trong bài viết này, chúng tôi sẽ nêu bật một số tính năng cốt lõi cần có để xây dựng một hệ thống đăng nhập và đăng ký hoàn chỉnh với PHP & MySQL
- Tạo biểu mẫu Đăng nhập và Đăng ký với Bootstrap 4
- Tạo kết nối cơ sở dữ liệu MySQL với dự án PHP
- Quản lý dữ liệu người dùng trong phiên
- Xác thực phía máy chủ PHP
- Xử lý thông báo lỗi
- Gửi email xác minh người dùng bằng plugin SwiftMailer
- Bảo mật mật khẩu bằng cơ chế băm mật khẩu
- Xác minh mật khẩu
- Chuyển hướng URL dựa trên trạng thái đăng nhập của người dùng
- Hiển thị dữ liệu của người dùng đã đăng nhập bằng phiên PHP
- Đăng xuất và hủy phiên
Mục lục
Điều kiện tiên quyết
Trước khi bạn bắt đầu tạo một hệ thống Đăng nhập & Đăng ký Người dùng PHP 8 an toàn, bạn phải thiết lập một máy chủ web cục bộ bằng MAMP hoặc XAMPP
Bạn cũng có thể làm theo hướng dẫn này để Thiết lập MySQL trên Mac và Định cấu hình MySQL trong Ứng dụng đầu cuối
Cấu trúc tệp và thư mục PHP 8
Mở MAMP hoặc XAMPP và khởi động máy chủ web của bạn, sau đó chuyển đến thư mục htdocs và tạo thư mục và tệp sau đây cần thiết để phát triển hệ thống xác thực người dùng của chúng tôi
\-- php-user-authentication
|-- config
|--- db.php
|-- controllers
|--- login.php
|--- register.php
|--- user_activation.php
|-- css
|--- style.css
|-- lib
|--- 3rd party plugins
|-- dashboard.php
|-- header.php
|-- index.php
|-- logout.php
|-- signup.php
|-- user_verification.php
Tạo cơ sở dữ liệu & bảng trong MySQL
Máy chủ web cục bộ của chúng tôi đang hoạt động, hãy truy cập PHPMyAdmin
Đầu tiên tạo cơ sở dữ liệu
CREATE TABLE `users` [
`id` int[11] NOT NULL,
`firstname` varchar[100] NOT NULL,
`lastname` varchar[100] NOT NULL,
`email` varchar[50] NOT NULL,
`mobilenumber` varchar[50] NOT NULL,
`password` varchar[255] NOT NULL,
`token` varchar[255] NOT NULL,
`is_active` enum['0','1'] NOT NULL,
`date_time` date NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8;
5Tạo bảng
CREATE TABLE `users` [
`id` int[11] NOT NULL,
`firstname` varchar[100] NOT NULL,
`lastname` varchar[100] NOT NULL,
`email` varchar[50] NOT NULL,
`mobilenumber` varchar[50] NOT NULL,
`password` varchar[255] NOT NULL,
`token` varchar[255] NOT NULL,
`is_active` enum['0','1'] NOT NULL,
`date_time` date NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8;
6 trong cơ sở dữ liệu MySQLBạn có thể tạo các cột theo cách thủ công hoặc thậm chí bạn có thể thực thi tập lệnh sql bên dưới từ tab
CREATE TABLE `users` [
`id` int[11] NOT NULL,
`firstname` varchar[100] NOT NULL,
`lastname` varchar[100] NOT NULL,
`email` varchar[50] NOT NULL,
`mobilenumber` varchar[50] NOT NULL,
`password` varchar[255] NOT NULL,
`token` varchar[255] NOT NULL,
`is_active` enum['0','1'] NOT NULL,
`date_time` date NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8;
7 để tạo các cột có giá trị sauCREATE TABLE `users` [
`id` int[11] NOT NULL,
`firstname` varchar[100] NOT NULL,
`lastname` varchar[100] NOT NULL,
`email` varchar[50] NOT NULL,
`mobilenumber` varchar[50] NOT NULL,
`password` varchar[255] NOT NULL,
`token` varchar[255] NOT NULL,
`is_active` enum['0','1'] NOT NULL,
`date_time` date NOT NULL
] ENGINE=InnoDB DEFAULT CHARSET=utf8;
Kết nối cơ sở dữ liệu
Thêm đoạn mã sau vào config/db. tập tin php
Phương thức ob_start[] theo dõi bộ đệm đầu ra và cho phép chúng tôi sử dụng Header
$_SESSION cho phép chúng tôi lưu dữ liệu mà chúng tôi có thể sử dụng trong ứng dụng PHP của mình, phiên vẫn tồn tại miễn là cửa sổ trình duyệt được mở
Thiết kế giao diện người dùng đăng ký và đăng nhập người dùng với Bootstrap 4
Để thiết kế giao diện người dùng đăng ký và đăng nhập người dùng, chúng tôi đang sử dụng Bootstrap 4, hãy thêm liên kết Bootstrap CSS, JavaScript và jQuery vào phần đầu của bố cục HTML
Thêm đoạn mã sau vào phần đăng ký. php
doctype html>
PHP User Registration System Example
Register
First name
Last name
Email
Mobile
Password
Sign up
Thêm đoạn mã sau vào chỉ mục. php để tạo bố cục biểu mẫu đăng nhập
doctype html>
PHP Login System
Login
Email
Password
Sign
in
Để thêm kiểu dáng trong ứng dụng xác thực người dùng PHP, hãy truy cập css/style. css và thêm đoạn mã sau
________số 8_______Xây dựng hệ thống đăng ký người dùng
Để tạo một hệ thống đăng ký người dùng an toàn, chúng ta cần vào bên trong bộ điều khiển/đăng ký. php và đặt đoạn mã sau vào bên trong nó