Đối với những diễn đàn, hay các website thương mại điện tử, web shop,… đều có chức năng đăng ký thành viên, để thành viên có thể có những quyền hạn nhất định nào đó như mua hàng, bình luận bài viết,…Đây là một trong những chức năng quan trọng và gần như là cần phải có đối với các website kể trên. Chính vì thế hôm nay mình chia sẽ đến các bạn bài viết về hướng dẫn tạo form đăng ký và đăng nhập trong lập trình website PHP.
Lưu ý :

Đối với các bạn mới bắt đầu học lập trình PHP các bạn nên gõ theo từng đoạn code để nhớ bài và hiểu vấn đề hơn, đừng copy nguyên đoạn code như vậy sẽ không nắm được lâu kiến thức.
Chuẩn bị :

Để bắt đầu thực hành bài này, các bạn hãy chuẩn bị cho mình những điều cần thiết sau :
– Đã khởi chạy (start) môi trường để lập trình PHP (coi lại bài Hướng dẫn cài đặt môi trường lập trình PHP)
– Chuẩn bị công cụ editor phù hợp để có thể code (các bạn có thể tham khảo bài Giới thiệu về các editor cho nhà phát triển web)

– Trong thư mục gốc của website (ở đây mình dùng wamp nên thư mục gốc sẽ là www, còn đối với các bạn dùng xampp, thì thư mục gốc sẽ là htdocs), các bạn tạo 1 folder đặt tên là my_website để chưa tất cả source code mà mình sẽ hướng dẫn các bạn từng bước làm 1 website hoàn chỉnh bằng ngôn ngữ lập trình PHP từ đây trở về sau.

Trong thư mục my_website , các bạn tạo cho mình cấu trúc thư mục như sau :

thư mục chính php

1. Tạo form đăng ký :

Đầu tiên mình sẽ thiết kế một form đăng ký, đặt tên là register.php, (đặt trong thư mục my_website) bao gồm các trường :
– trường để người dùng nhập nickname
– trường để người dùng nhập mật khẩu
– trường để người dùng nhập họ tên
– trường để người dùng nhập địa chỉ email

Chạy đoạn code trên (vào browser gõ đường dẫn http://localhost/my_website/register.php) ta được form đăng ký đơn giản như sau

form đăng ký php

2. Tạo cơ sở dữ liệu lưu trữ

Tiếp đến, ta sẽ thiết kế cơ sở dữ liệu và tạo bảng lưu trữ thông tin người dùng, ở đây mình lấy tên cho database là “kungfuphp” và bảng là “users”. Trong bảng uses sẽ bao gồm các cột

  • id : kiểu int, khóa chính, thuộc tính tự tăng (auto increment)
  • username : tên đăng nhập, kiểu var char, độ dài là 30 kí tự
  • password  : mật khẩu, kiểu var char, độ dài 30 kí tự
  • name : tên người dùng, kiểu var char, độ dài 255 kí tự
  • email : địa chỉ email, kiểu var char, đồ dài 255 kí tự

3. Bắt đầu code

a) Tạo kết nối đến mysql để lấy dữ liệu

Để có thể select hoặc insert, update dữ liệu trong database, ta cần phải tạo một giao thức kết nối giữa PHP và Mysql. Ở đây mình sẽ tạo một file mới tên là connection.php, đặt trong thư mục lib và gõ theo như đoạn code dưới đây:

Ở đoạn code trên, chúng ta dùng phương thức mysqli_connect của PHP để PHP có thể kết nối tới dữ liệu mysql với 3 tham số:

  • $server_host :tên host chưa database, ở đây mình dùng là localhost vì chạy ở máy tính cục bộ, còn khi upload website lên các host khác thì chúng ta có thể thay đổi tham số này cho phù hợp.
  • $server_username  : tên đăng nhập vào database, mặc định ở local là root
  • $server_password ; mật khẩu đăng nhập vào database, mặc định ở local là rỗng

phương thức or die nhằm kiểm tra nếu kết nối thất bại sẽ xuất ra dòng chữ “không thể kết nối tới database”

phương thức mysqli_query($conn,”SET NAMES ‘UTF8′”) bạn có thể thêm vào hoặc không đều được, đây là phương thức tùy chọn, dành cho trong trường hợp cơ sở dữ liệu của bạn có các kí tự đặc biệt dạng utf-8 thì khi truy vấn hoặc cập nhật dữ liệu sẽ không bị lỗi font chữ

Tiếp đến trong file register.php, bạn cần phải require file connection.php vừa tạo vào bằng cách dùng từ khóa require_once (hoặc include, include_once, require)

Sau khi đã require_once tập tin connection.php vào, chúng ta đến giai đoạn kiểm tra thông tin đăng ký hợp lệ và lưu dữ liệu vào database, ở đây mình sẽ lấy các thông tin ở form đăng ký đã tạo ở trên bằng phương thức POST, các bạn lưu ý là :

  • Trong thẻ <form> ở trên có phương thức method mình cố tình để sẵn là method=”POST” nên các bạn phải dùng từ khóa $_POST để có thể lấy được thông tin
  • Trong PHP, từ khóa $_POST chỉ lấy được giá trị của thẻ input thông qua thuộc tính name, không phải thẻ id nhé các bạn
  • Ngoài phương thức POST, chúng ta còn có thể sử dụng phương thức GET và sử dụng từ khóa $_GET để lấy dữ liệu
  • Sự khác nhau giữa POST và GET thì mình sẽ nói rõ hơn trong các bài sau 🙂

Ở đoạn code bên trên đây, mình dùng từ khóa isset để kiểm tra button có name là btn_submit đã được click hay chưa, nếu click rồi thì mới bắt đầu lấy thông tin và insert dữ liệu vào database, tranh trường hợp khi load trang, đoạn code thực thi sẽ tự động chạy. Như đã nói ở trên, mình dùng từ khóa $_POST để lấy các thông tin username, password, name, email và kiểm tra nếu 1 trong các field này rỗng thì sẽ xuất ra thông báo là “bạn vui lòng nhập đầy đủ thông tin”, ngược lại sẽ là thực thi việc lưu trữ dữ liệu như sau:

Toàn bộ code đầy đủ trong file register.php sẽ như sau :

Video demo (phóng to lên, chọn chế độ HD 720 xem cho rõ nhé)

Vậy là chúng ta đã thiết kế xong trang register.php cho phép người dùng nhập dữ liệu và lưu trữ vào database. Bài viết cũng khá dài nên mình tạm dừng ở đây, các bạn có thắc mắc gì thì hãy để lại comment bên dưới bài viết nhé. Trong bài tiếp theo mình sẽ nói về việc kiểm tra thông tin có trong database và tạo form đăng nhập. Các bạn nhớ đón xem, thân !

Đợi chút, bạn có muốn tự tay tạo thiết kế website bằng HTML, CSS, Bootstrap cho riêng mình ? Nếu có thì xem tại đây nhé

Nguon : kungfuphp.com

Nếu bạn thấy bài viết có ích và muốn cảm ơn mình thì bạn có thể donate mời mình 1 lý cà phê nhé
Địa chỉ ví BTC của mình : 1NWVkBYnd5iSZ5BsAg4fbr4bYWC7hn9Vcz
Cám ơn và chúc bạn nhiều niềm vui trong cuộc sống !