Code đăng nhập php đơn giản

Trong bài trước bạn đã được hướng dẫn tạo Form đăng ký bằng PHP chỉ với 2 file đơn giản. Ngày hôm nay bạn sẽ biết cách tạo Form đăng nhập bằng PHP & MySQL cũng 3 file cực kỳ dễ hiểu. Bạn sẽ xây dựng chương trình đăng nhập bằng username và password.

Trước khi thực hiện cần đảm bảo rằng đã khởi động XAMPP khởi động Apache và MySQL đã nhé!

Hướng dẫn tạo Form đăng nhập sử dụng PHP và MySQL

Bạn cần tạo một thư mục là dangnhap trong htdocs để chứa 4 file tên là login.php, xuly.phpconnect.php, session.php

Bước 1: Copy đoạn code login php sau cho vào file login.php

 







Tên đăng nhập :
Mật khẩu :

Đăng ký



Bước 2: Tạo file xuly.php để kiểm tra

Trở lại";
exit;
}
  
// mã hóa pasword
$password = md5($password);
  
//Kiểm tra tên đăng nhập có tồn tại không
$query = "SELECT username, password FROM member WHERE username='$username'";
$result = mysqli_query($connect, $query) or die( mysqli_error($connect));

if (!$result) {
echo "Tên đăng nhập hoặc mật khẩu không đúng!";
} else {
echo "Đăng nhập thành công!";
} //Lấy mật khẩu trong database ra $row = mysqli_fetch_array($result); //So sánh 2 mật khẩu có trùng khớp hay không if ($password != $row['password']) { echo "Mật khẩu không đúng. Vui lòng nhập lại. Trở lại"; exit; } //Lưu tên đăng nhập $_SESSION['username'] = $username; echo "Xin chào " .$username . ". Bạn đã đăng nhập thành công. Thoát"; die();
$connect->close(); } ?>

Bước 3: Tạo file connect.php để kết nối tới cơ sở dữ liệu Database

if($connect === false){ 
die("ERROR: Could not connect. " . mysqli_connect_error());
}
else {
echo 'Kết nối DB thành công!';
} ?>

Bước 4: Tạo file session.php để thoát phiên đăng nhập

Bước 5: Thêm file CSS tên là style.css

.dangnhap {
width: 600px;
margin: 10px auto;
}
input[type=text], input[type=password] {
width: 100%;
padding: 12px 20px;
margin: 8px 0;
display: inline-block;
border: 1px solid #ccc;
box-sizing: border-box;
}
  
.button {
background-color: #4CAF50;
color: white;
padding: 14px 20px;
margin: 8px 0;
border: none;
cursor: pointer;
width: 100%;
}
  
.button:hover {
opacity: 0.8;
}

Ok xong rồi đấy!

Để chạy bạn sẽ dán link http://localhost/dangnhap/login.php lên trình duyệt.

Bài viết này khá đơn giản nếu bạn muốn Form đăng nhập thành viên đẹp hơn thì có thể chèn thêm CSS vào.

Trên đây là bài hướng dẫn xây dựng chức năng đăng nhập đơn giản nhất là một phần trong kiến thức lập trình PHP giúp tạo dựng một trang web hoàn chỉnh.

I. Giới thiệu:

Sau khi các bạn đã học các kiến thức cơ bản về PHP và MySQL thì trong bài này mình sẽ hướng dẫn các bạn xây dựng chức năng đăng nhập và đăng ký sử dụng php và mysql. Nội dung của bài này rất căn bản và cũng rất phù hợp cho những bạn mới bắt đầu học lập trình web với PHP và MySQL. Bài này mình sẽ giải thích và demo chi tiết nhất có thể để mọi người dễ hiểu nhé!

II. Lên ý tưởng:

Các bước để thực hiện chức năng

  1. Tạo database và một bảng lưu danh sách người dùng.
  2. Tạo folder và các file cần thiết.
  3. Tạo form thêm người dùng.
  4. Xử lý dữ liệu nhập vào từ form để insert vào database.
  5. Xử lý đăng xuất.

Bước 1: Tạo database và một bảng lưu danh sách người dùng

Để lưu danh sách các tài khoản, tôi tạo một database ở phpmyadmin có tên là ‘login’ và chọn bảng mã là unicode_utf8_ci để có thể lưu dữ liệu tiếng Việt vào database. Trong database này tôi tạo 1 bảng tên là ‘user’ để lưu thông tin của các user. Bảng này có các trường sau (chọn uft8 là bảng mã có thể viết tiếng VIệt): Cách cài đặt và kết nối phpmyadmin các bạn tự tìm hiểu trên google nhé

Code đăng nhập php đơn giản

  • id: dữ liệu kiểu int, là khóa chính, tự động tăng. Trường này sẽ lưu id của người dùng.
  • user_name : kiểu varchar(50), trường này sẽ lưu tài khoản đăng nhập của người dùng.
  • password: kiểu text, trường này sẽ lưu mật khẩu của người dùng.
  • full_name: kiểu varchar(100), trường này sẽ lưu họ tên của người dùng. Sau khi tạo bảng xong, cấu trúc bảng này sẽ như sau:

Code đăng nhập php đơn giản

Bước 2: tạo folder và các file cần thiết:

Tạo folder có tên là login ở trong /var/www/html nếu các bạn cài xampp thì sẽ ở trong C:\xampp\htdocs nhé. Trong folder này sẽ có:

  • Trang index.php: sẽ là trang chủ, thực hiện việc xử lý, tính toán, và lấy dữ liệu cho phù hợp.
  • Trang register.php: sẽ là trang để đăng ký thành viên.
  • Trang login.php: là trang đăng nhập, nếu người dùng đăng nhập không thành công hoặc chưa đăng nhập thì index.php sẽ gọi login.php vào.
  • Trang admin.php: là trang sẽ được gọi vào index.php khi đã đăng nhập thành công

Cấu trúc thư mục sẽ như sau:

Code đăng nhập php đơn giản

Bước 3: kết nối database:

Mọi thao tác xử lý chúng ta đều thực hiên trên trang index.php, do vậy mà việc kết nối database tôi cũng sẽ thực hiện ở trang index.php.

Ở trang này tôi thực hiện việc kết nối tới database với lệnh sau: mysqli_connect(‘$_host_name’, ’$_user_name_db’, ’$_pass_login_db’, ’$_database_name);

Trong đó:

  • $_host_name: là tên host của bạn. Nếu cài localhost thì bạn sẽ đặt trường này là localhost (tên máy chủ hoặc địa chỉ ip máy chủ).
  • $_user_name_db: tài khoản đăng nhập database (nếu cài xampp, tài khoản mặc định là ‘root’).
  • $_pass_login_db: mật khẩu đăng nhập database (mặc định xampp không đặt mật khẩu đăng nhập, nên trường này bạn để trống).
  • $_database_name: tên database mà bạn cần thao tác.

Gán vào biến connect: `$connect = mysqli_connect(‘localhost’,’root’, "", ’login’);

Tiếp theo tôi chọn việc truy vấn này có thể đọc và hiểu tiếng Việt, tôi viết tiếp lệnh sau:

mysqli_set_charset($connect,”utf8″);

Hoàn thành 2 lệnh trên ta có cấu trúc file index.php như sau:





	Devpro.edu.vn
	
	
	
	


	


Bước 4: tạo form đăng ký người dùng:\

Form đăng ký sẽ viết ở file register.php

Trước khi đăng nhập, bạn phải có tài khoản để đăng nhập đã. Để có tài khoản thì bạn phải đăng ký, khi đăng ký thành công, tài khoản của bạn sẽ được insert vào database. Trong form đăng ký sẽ có ô nhập tài khoản (user_name), một ô nhập mật khẩu, 1 ô nhập laị mật khẩu và 1 ô nhập họ tên đầy đủ(full_name)

Sau đó ở trang index.php tôi tạo một nút nhấn, khi nhấn vào nút này, tôi sẽ gọi trang register.php vào (gọi form đăng ký vào).

Trang index.php tôi viết tiếp như sau:





	Index
	
	
	
	


	
//tạo nút nhấn: truyền biến $_GET["page"]="register" lên URL
//kiểm tra nếu tồn tại biến $_GET["page"] = "register" thì gọi register.php vào

Bước 5: lấy dữ liệu người dùng thêm từ form đăng nhập, kiểm tra , và insert vào database:

Khi người dùng nhấn nút submit (đăng ký) thì dữ liệu sẽ được gửi đi theo phương thức post, vì method của form tôi đã đặt là post.

Tôi sẽ lấy dữ liệu người dùng nhập và insert vào database bằng các lệnh sau ở trang index.php:





	Index
	
	
	
	
	


	
	
Có lỗi!
Chúc mừng!

Trong đó:

  • header(“location:index.php?page=dangky”) : là chuyển hướng trang sang trang index.php?page=dangky
  • hàm isset(): là hàm kiểm tra một biến có tồn tại hay không.
  • include() : là hàm triệu gọi file
  • lệnh thực hiện truy vấn: mysqli_query($connect,” các câu lệnh truy vấn “);
  • Tôi sử dụng hàm setcookie() để tạo ra một biến thông báo tồn tại trong 1 giây, để hiện các thông báo có thực hiện thành công hay không.
  • md5(): là hàm mã hóa một chuỗi thành 1 dãy kí tự gồm 32 ký tự.

Bước 6: tạo một form đăng nhập:


'Trang đăng nhập'

Bước 7: lấy dữ liệu từ form đăng nhập và xử lý:





	Index
	
	
	
	
	



	
	
	


	
	
	



	

	
'Đăng ký' 'Trang chủ' Đăng xuất"; ?>
'Có lỗi!'
'Chúc mừng!'

Như vậy Minh nhé đã hoàn tất việc giới thiệu chức năng đăng nhập một cách hoàn chỉnh.