Bài tập PHP xây dựng một trang đăng nhập đơn giản

Xin chào mọi người trong bài viết này mình sẽ hướng dẫn các bạn làm một bài tập php nhỏ thôi :)). Tuy nhiên nó có võ đấy :v, đó là xây dựng một trang đăng nhập từ Form HTML bằng PHP. Mọi hệ thống đăng nhập như là Fakebook hay là những diễn đàn học tập lớn của nước ta như thiendia chấm cơm cũng được xây dựng như cấu trúc này mà thôi. Không thể cao siêu hơn được :v, mình xin được bắt đầu bài viết 😀

bai tap php

Bài tập PHP xây dựng một trang đăng nhập đơn giản

Cấu trúc :

Chúng ta sẽ xây dựng cấu trúc như sau :

  • login.html
  • login.php
  • mainpage.php
  • logout.php

Đầu tiên dữ liệu được nhập vào form html, sau khi click vào submit một request sẽ được gửi lên server. Củ thể ở đây là file login.php sẽ xử lý dữ liệu từ form, nó sẽ kiểm tra dữ liệu nếu đúng thì sẽ di chuyển đến trang mainpage.php. Sai thì xuất ra một thông báo gì đó. Ở trang mainpage.php chúng ta sẽ đặt một thẻ a để khi người dùng click vào đăng xuất quay về trang login.html. Các bạn cứ hình dung như đăng nhập vào facebook ấy nó hoạt động như vậy.

Code:

Bây giờ mình sẽ code bài tập php này và giải thích chi tiết ở ngay phía sau

login.html

Mình tạo ra một form HTMLaction là “login.php” tức là khi chúng ta click vào login thì dữ liệu sẽ chuyển đến file login.php và làm việc abc xyz gì đó. Mình sử dụng method là “POST”. Đây là một phương thức lấy dữ liệu từ form. Một mảng $_POST[ ] được tạo ra khi click vào login. Nó sẽ thêm vào các phần tử có key là username và password và value là giá trị mà chúng ta nhập vào form.

login.php

Mình khởi tạo một session bằng cách gọi phương thức session_start() , session là gì ? Khi một website được load lại hay là chuyển đến một trang khác thì nó chẳng còn lưu trữ được dữ liệu gì nữa. Kiểu như là mất trí nhớ ấy, đó là lí do session được tạo ra. Nó sẽ lưu trữ dữ liệu, trong bài tập này mình tạo ra một biến $_SESSION[‘user’] lưu dữ giá trị username mà chúng ta đã nhập vào form.

Tiếp đến mình khởi tạo 2 biến $username$password và gán giá trị là $_POST[‘username’]  và $_POST[‘password’] và sử dụng toán tử ??  đây là toán tử ba ngôi của PHP7 có nghĩa là nếu tồn tại biến $_POST[‘username’] hay $_POST[‘password’] thì sẽ được gán giá trị của chúng, còn không thì sẽ gán giá trị ‘ ‘ rỗng.

Tiếp đến thì mình sử dụng câu lệnh if để kiểm tra username và password mà người dùng nhập vào ở đây mình để username là admin và password là 123. Nếu đúng thì sẽ tạo ra một session $_SESSION[‘user’] = $username và di chuyển đến trang mainpage.php bằng phương thức header("localtion"). Trong thực tế chúng ta sẽ kiểm tra username và password ở cơ sở dữ liệu.

Nếu không đúng username và password ở trên thì xuất ra một câu thông báo và require file login.html

mainpage.php

Ở file maipage.php mình kiểm tra xem người dùng đã đăng nhập hay chưa bằng phương thức !isset(). Phương thức này kiểm tra sự tồn tại của biến. Nếu tồn tại biến $_SESSION[‘user’] thì sẽ xuất ra thông báo. Nếu không thì nó sẽ chuyển về trang login.html.

Ở phần html thì mình có để một thẻ link để thực hiện chức năng đăng xuất. Khi người dùng click vào nó sẽ chuyển đến file logout.php

logout.php

File này sẽ hủy bỏ session và chuyển đến file login.html

Rất đơn giản phải không :D, vậy là mình đã xử lý xong bài tập php này rồi. Mong rằng nó sẽ giúp các bạn có cái nhìn thiện cảm hơn về lập trình back end bằng php :v. Các bạn có thể tham khảo những bài viết khác tại đây 

avatar
  Subscribe  
Notify of