Hướng dẫn thực hiện chức năng đăng ký và đăng nhập cho website PHP kèm code mẫu

/ Lập trình web / Php & Mysql
Hướng dẫn thực hiện chức năng đăng ký và đăng nhập cho website PHP kèm code mẫu
1

Trong bài hướng dẫn hôm nay, chúng ta sẽ tham khảo việc kết hợp nhận dữ liệu từ người dùng, class thao tác với cơ sở dữ liệu, session trong PHP để xây dựng chức năng đăng ký thành viên - đăng nhập - đăng xuất. Có thể nói, đây là chức năng mà đa số các website đều sử dụng. Mục đích của nhóm chức năng này là để website nhận diện được người đang truy cập để từ đó cung cấp các nội dung cá nhân hóa tương ứng. Ví dụ: lưu và cho phép xem lại thông tin giỏ hàng, thông tin lịch sử mua hàng, các bài viết đã xem, các bộ phim yêu thích, đề xuất các nội dung liên quan...

 

Tổng quan chức năng đăng nhập, đăng ký và đăng xuất

Chúng ta sẽ sử dụng bảng user để lưu thông tin của người dùng gồm tên đăng nhập, mật khẩu, email, số điện thoại, giới tính... Đồng thời sử dụng session trong PHP để tiến hành quản lý phiên đăng nhập của người dùng.

Các bạn có thể tham khảo script SQL tạo bảng user như sau:

 

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
  `m_username` varchar(255) NOT NULL,
  `m_password` varchar(255) NOT NULL,
  `m_gender` tinyint(4) DEFAULT NULL,
  `m_phone` varchar(50) DEFAULT NULL,
  `m_email` varchar(255) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;

 

Theo đúng thứ tự, chúng ta sẽ có quy trình của các chức năng như sau:

Quy trình đăng ký thành viên:

Bước 1. Hiển thị màn hình đăng ký thành viên, tại màn hình này, chúng ta sẽ hiển thị các thẻ nhập liệu để nhập vào các thông tin đăng ký một người dùng mới gồm tên đăng nhập, mật khẩu, email, số điện thoại, giới tính.

 

Bước 2. Nhận và xử lý thông tin đăng ký thành viên mới. Tại đây chúng ta sẽ tiến hành kiểm tra các ràng buộc bên dưới, nếu không thỏa mãn thì chuyển đến bước 3, nếu thỏa mãn thì chuyển đến bước 4.

Các ràng buộc khi khi đăng ký thành viên:

- Tên đăng nhập không được trùng với bất kỳ tên đăng nhập nào đang có trong bảng user.

- Tên đăng nhập tối thiểu 8 ký tự, tối đa 255 ký tự.

- Mật khẩu tối thiểu 8 ký tự, phải bao gồm ít nhất một ký tự in hoa, ít nhất một ký tự số, ít nhất một ký tự đặc biệt.

- Giới tính phải là 0(nữ) hoặc 1(nam).

- Điện thoại tối thiểu 9 ký tự, tối đa 50 ký tự.

- Địa chỉ email tối đa 255 ký tự, và phải bao gồm đầy đủ các yếu tố theo đúng thứ tự: <Tên người dùng>@<Tên miền>.

 

Bước 3. Hiển thị lại màn hình đăng ký với các thành phần như trong bước 1, kèm theo thông báo lỗi nếu có cho từng mục.

 

Bước 4. Tiến hành lưu thông tin vào bảng user. Tự động đăng nhập với các thông tin hiện tại. Sử dụng session trong PHP để lưu lại thông tin đăng nhập bao gồm: tên đăng nhập, giới tính, số điện thoại, email. Sau đó, chuyển hướng trang về trang chủ, tại đây, chúng ta có thể lấy lại thông tin đã đăng nhập bằng session và hiển thị lên màn hình. Mà thông thường là góc trên bên phải, kèm theo nút đăng xuất để chuyển đến trang đăng xuất.

 

Quy trình đăng nhập

Bước 1. Hiển thị màn hình đăng đăng nhập, tại màn hình này, chúng ta sẽ hiển thị các thẻ nhập liệu để nhập vào các thông tin gồm tên đăng nhập, mật khẩu.

 

Bước 2. Nhận và xử lý thông tin đăng nhập. Tại đây, chúng ta sẽ kiểm tra thông tin nhận được gồm tên đăng nhập và mật khẩu có trùng khớp với dữ liệu trong database hay không, nếu không trùng khớp thì chuyển đến bước 3, nếu trùng khớp thì chuyển đến bước 4.

 

Bước 3. Hiển thị lại màn hình đăng nhập, với tên đăng nhập đã nhận được trước đó. Đồng thời hiển thị thông báo lỗi "tên đăng nhập hoặc mật khẩu không đúng".

 

Bước 4. Sử dụng session trong PHP để lưu lại thông tin đăng nhập bao gồm: tên đăng nhập, giới tính, số điện thoại, email. Sau đó, chuyển hướng trang về trang chủ, tại đây, chúng ta có thể lấy lại thông tin đã đăng nhập bằng session và hiển thị lên màn hình. Mà thông thường là góc trên bên phải, kèm theo nút đăng xuất để chuyển đến trang đăng xuất.

 

Quy trình đăng xuất

Chúng ta sẽ tiến hành xóa bỏ thông tin đăng nhập đã được lưu trong session và sau đó chuyển hướng về lại trang chủ.

 

Sau đây, chúng ta sẽ tiến hành thực hiện cho từng chức năng.

 

Tiến hành thực hiện chức năng đăng nhập, đăng ký và đăng xuất cho website PHP

Trước tiên, chúng ta sẽ tạo một dự án mới và tên miền ảo đi kèm cho dự án là usermodule.com.

Tiếp đến, vào thư mục gốc của website và tạo các file như hình sau:

 

 

Code của tất cả các file mình có đính kèm trong link tại cuối bài viết nhé.

 

Trong đó, chúng ta có các file chính với các chức năng tương ứng như sau:

- register.php: Thực hiện quá trình đăng ký thành viên.

- login.php: Thực hiện quá trình đăng nhập.

- index.php: Thực hiện hiển thị thông tin người dùng đã được lưu từ quá trình đăng nhập hoặc đăng ký.

- logout.php: Thực hiện xóa thông tin từ quá trình đăng nhập và đăng ký.

 

Tất cả các file đều có ghi chú đính kèm cho mỗi đoạn code nên mình sẽ không trình bày lại nhé.

 

Một số lưu ý trong bài hướng dẫn:

- Thông tin của quá trình đăng ký / đăng nhập sẽ được lưu thông qua session trong PHP. Bạn nào chưa biết session là gì thì có thể tìm hiểu thêm về session trong PHP trước khi đọc hiểu code.

- Để quá trình sử dụng session không phát sinh lỗi, chúng ta sẽ đặt đoạn code session_start() tại đầu của file các file .php. 

- Trong bài hướng dẫn có sử dụng class thao tác với database mà mình đã đề cập trong các bài học trước, bạn nào chưa xem thì có thể xem lại tại: Class PHP tương tác với CSDL thông qua PDO.

- Vì lý do bảo mật, mật khẩu nên được mã hóa bằng hàm mã hóa một chiều trước khi lưu xuống cơ sở dữ liệu. Trong bài hướng dẫn, để đảm bảo tính dễ hiểu, mình chỉ sử dụng hàm md5 dể mã hóa ở mức cơ bản, thực tế các bạn có thể tham khảo các phương pháp mã hóa tăng cường khác.

- Cũng vì lý do bảo mật, mật khẩu cũng sẽ không được lưu vào session.

 

Toàn bộ code của bài hướng dẫn các bạn có thể tải về tham khảo tại link sau:

https://drive.google.com/file/d/16z9b98rhsc7KNQCOEcZSVwJwnt5DqpHu/view?usp=sharing

 

Nội dung trong bài hướng dẫn chỉ mang tính chất tham khảo, các bạn có thể cần tùy chỉnh thêm để phù hợp với dự án mà các bạn đang thực hiên.

Tạo vào 04/03/2023, Cập nhật 1 năm trước

Bình luận

Hãy là nguời đầu tiên bình luận về Hướng dẫn thực hiện chức năng đăng ký và đăng nhập cho website PHP kèm code mẫu

Bài viết có vấn đề ? Hãy cho chúng tôi biết.

Gửi báo cáo sai phạm
Bạn đang đọc bài viết Hướng dẫn thực hiện chức năng đăng ký và đăng nhập cho website PHP kèm code mẫu

Hãy để nguồn Suta.media khi phát hành lại nội dung này !