Khi xây dựng một website động như các trang thương mại điện tử, shop bán hàng thì chức năng đăng ký, đăng nhập không thể thiếu. Bài viết dưới đây mình sẽ hướng dẫn cách tạo Form đăng ký bằng PHP & MySQL để tạo thành viên cực kỳ đơn giản.

Cách tạo Form đăng ký bằng PHP và MySQL

Để hoạt động tốt trước tiên bạn cần phải cài đặt XAMPPdownload mã nguồn PHP khởi động lên test thử xem PHP đã chạy chưa nhé!

Tiếp theo trong thư mục htdocs bạn tạo một file tên là dangky. Trong thư mục đăng ký bạn sẽ tạo 2 file tên là register.php (Nhập thông tin) và file connect.php (Kết nối với Database).

Bước 1: Tạo cơ sở dữ liệu để ghi thông tin

Dán http://localhost/phpmyadmin/ lên trình duyệt

Tạo một Database lấy tên là dulieu chọn utf8_general_ci sau đó nhấp Create

Tạo Form đăng ký bằng PHP & MySQL

Xong bạn nhấp data chọn tab SQL dán code sau vào

CREATE TABLE IF NOT EXISTS `member` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL,
`password` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
`email` varchar(200) COLLATE utf8_unicode_ci DEFAULT NULL,
`phone` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL,
`level` tinyint(4) DEFAULT NULL COMMENT '1: admin, 0: member',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;

Tạo Form đăng ký bằng PHP

Bước 2: Copy đoạn code sau cho vào register.php

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<form method="post" action="connect.php">
Username: <input type="text" name="username" value=""/><br/><br/>
Password: <input type="text" name="password" value=""/><br/><br/>
Email: <input type="email" name="email" value=""/><br/><br/>
Phone: <input type="text" name="phone" value=""/><br/><br/>
<input type="submit" name="dangky" value="Đăng Ký"/>
</form>
</body>
</html>

Tạo Form đăng ký với các trường:

– User: Tên đăng nhập

– Password: Mật khẩu

– Tên

– Email

Bước 3: Tiếp theo tạo file connect.php kết nối tới Database để ghi dữ liệu thành viên

<?php
header('Content-Type: text/html; charset=utf-8');
$conn = mysqli_connect('localhost', 'root', '', 'data') or die ('Lỗi kết nối'); mysqli_set_charset($conn, "utf8");
if (isset($_POST['dangky']))
{
$username = isset($_POST['username']) ? mysql_escape_string($_POST['username']) : '';
$password = isset($_POST['password']) ? md5($_POST['password']) : '';
$email = isset($_POST['email']) ? mysql_escape_string($_POST['email']) : '';
$phone = isset($_POST['phone']) ? mysql_escape_string($_POST['phone']) : '';

// Kiểm tra username hoặc email có bị trùng hay không
$sql = "SELECT * FROM member WHERE username = '$username' OR email = '$email'";

// Thực thi câu truy vấn
$result = mysqli_query($conn, $sql);

// Nếu kết quả trả về lớn hơn 1 thì nghĩa là username hoặc email đã tồn tại trong CSDL
if (mysqli_num_rows($result) > 0)
{
// Sử dụng javascript để thông báo
echo '<script language="javascript">alert("Thông tin đăng nhập bị sai"); window.location="register.php";</script>';

// Dừng chương trình
die ();
}
else {
$sql = "INSERT INTO member (username, password, email, phone) VALUES ('$username','$password','$email','$phone')";

if (mysqli_query($conn, $sql)){
		echo "Tên đăng nhập: ".$_POST['username']."<br/>";
		echo "Mật khẩu: " .$_POST['password']."<br/>";
		echo "Email đăng nhập: ".$_POST['email']."<br/>";
		echo "Email đăng nhập: ".$_POST['phone']."<br/>";
}
else {
echo '<script language="javascript">alert("Có lỗi trong quá trình xử lý"); window.location="register.php";</script>';
}
}
}
?>

Ở đoạn
$conn = mysqli_connect(‘localhost’, ‘root’, ”, ‘data‘) or die (‘Lỗi kết nối’);
mysqli_set_charset($conn, “utf8”);

Thì data chính là Database bạn tạo trên http://localhost/phpmyadmin

Cuối cùng bạn lưu lại các file và truy cập vào đường dẫn

localhost/dangky/register.php

Để test xem có được chưa nhé!

Trên đây là bài viết hướng dẫn bạn tạo một Form đăng ký sử dụng ngôn ngữ lập trình PHP khá đơn giản. Sau khi hiểu được các thức hoạt động bạn có thể thêm nhiều chức năng khác nữa như là đăng nhập, phần quản trị admin…