Ở bài trước ” hướng dẫn tao form đăng ký ” mình đã hướng dẫn các bạn tạo form đăng ký cho website của mình. Hôm nay mình sẽ tiếp tục chia sẽ đến các bạn bài viết về hướng dẫn tạo form đăng nhập. Trong bài viết này, mình sẽ tóm tắt như sau, đó là khi một người dùng điền thông tin đăng nhập, ta sẽ thực thi việc kiểm tra thông tin đăng nhập bao gồm username và password, nếu thông tin trùng khớp với dữ liệu trong database ta sẽ tiến hành lưu , khởi tạo session và tiến hành lưu dữ liệu vào session. Tiếp theo ta sẽ dùng session đã được khởi tạo đó để check một số quyền hạn nhất định trên trang.
1. Tạo form đăng nhập :
Chúng ta sẽ tạo form đăng nhập chúng tôi , đặt trong folder my_website
ô input username : tài khoản mà người dùng đã đăng ký
ô input password : mật khẩu người dùng đã đăng ký
Gõ xong, các bạn vào đường dẫn
http://localhost/my_website/login.phpbạn sẽ thấy form như sau
Đây là giai đoạn chúng ta sẽ tiến hành kiểm tra người dùng đã nhập đủ thông tin vào form đăng nhập hay chưa, nếu chưa hiện ra thông báo bắt buộc họ phải nhập đầy đủ thông tin, sau đó tiếp tục kiểm tra thông tin người dùng với dữ liệu họ đã đăng ký trong database xem đã trùng khớp hay chưa? nếu chưa thì tiếp tục hiện thống báo phản hồi, ngược lại tiến hành lưu thông tin đăng nhập vào session để xử lý
Lưu ý : muốn sử dụng session để lưu thông tin , thì bạn phải khởi tạo session bằng function session_start() và thì tốt nhất nên đặt function session_start() đầu trang
<?php session_start(); <?php session_start(); <?php require_once("lib/connection.php"); if (isset($_POST["btn_submit"])) { $username = $_POST["username"]; $password = $_POST["password"]; $username = strip_tags($username); $username = addslashes($username); $password = strip_tags($password); $password = addslashes($password); echo "username hoặc password bạn không được để trống!"; }else{ $sql = "select * from users where username = '$username' and password = '$password' "; $query = mysqli_query($conn,$sql); $num_rows = mysqli_num_rows($query); if ($num_rows==0) { echo "tên đăng nhập hoặc mật khẩu không đúng !"; }else{ $_SESSION['username'] = $username; header('Location: index.php'); } } }3. Xử lý sau hậu đăng nhập
Ở phần 2, sau khi đăng nhập thành công, chúng ta sẽ chuyển hướng trang web tới trang chúng tôi . Vì thế chúng ta tiếp tục tạo trang chúng tôi (đặt trong thư mục my_website) để xử lý thông tin, gọi nôm na là xử lý hậu đăng nhập.
<?php session_start(); if (!isset($_SESSION['username'])) { header('Location: login.php'); }Giải thích một tí về đoạn code trên, ở đoạn code
<?php session_start(); if (!isset($_SESSION['username'])) { header('Location: login.php'); }chúng ta sẽ tiến hành kiểm tra khi một ai đó chưa đăng nhập nhưng cố tình truy cập vào trang chúng tôi bằng cách điền địa chỉ
http://localhost/my_website/index.php, thì sẽ bị chuyển hướng ra lại trang đăng nhập, ngược lại thì ta sẽ xuất ra dòng chữ
"Chúc mừng bạn có username là 'tên đăng nhập được lưu trong session' đã đăng nhập thành công !"