Đăng ký thành viên là một trong những chức năng không thể thiết khi thiết kế website bằng PHP. Tuy nhiên code trong PHP và MySQL là những đoạn mã phức tạp. Sẽ gây ra sự khó hiểu đối với người mới bắt đầu. Chính vì vậy bài viết này sẽ hướng dẫn bạn tạo code đăng ký thành viên bằng cách sử dụng ngôn ngữ lập trình PHP.

Tạo Form đăng ký thành viên bằng PHP và MySQL

Nếu bạn chưa biết cách tạo Cơ sở dữ liệu hãy đọc lại bài viết Hướng dẫn tạo Database trong Phpmyadmin

Sau khi đã có Database rồi thì chúng ta làm gì tiếp theo?

Bước 1: Đó là cần phải tạo ra một bảng là “users” để chứa thành viên gồm các cột “id, firstname, lastname, username, password, email, date“.

Sử dụng lệnh MySQL như sau:

CREATE TABLE users (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
username VARCHAR(30) NOT NULL,
password VARCHAR(30) NOT NULL,
email VARCHAR(50),
date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)

tao-form-dang-ky-thanh-vien-bang-php-1

Bước 2: Tạo Form đăng ký thành viên bằng PHP dangky.php

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="style.css"/>
</head>
<body>

<form method="post" action="dangky.php" class="form">
<h2>Đăng ký thành viên</h2>
Firstname: <input type="text" name="firstname" value="" required/><br/>
Lastname: <input type="text" name="lastname" value="" required/><br/>
Username: <input type="text" name="username" value="" required/><br/>
Password: <input type="text" name="password" value="" required/><br/>
Email: <input type="email" name="email" value="" required/><br/>
Ngày đăng ký: <input type="text" name="date" value="" required/><br/>
<input type="submit" name="dangky" value="Đăng Ký"/><br/>
<?php require 'xuly.php';?>
</form>

</body>
</html>

Bước 3: Tạo file xử lý xuly.php để ghi dữ liệu vào Database MySQL

<?php
header('Content-Type: text/html; charset=utf-8');

// Kết nối CSDL
$conn = mysqli_connect('localhost', 'root', '', 'data') or die ('Lỗi kết nối'); mysqli_set_charset($conn, "utf8");

// Dùng isset để kiểm tra Form
if (isset($_POST['dangky']))
{
$firstname = isset($_POST['firstname']) ? mysql_escape_string($_POST['firstname']) : '';
$lastname = isset($_POST['lastname']) ? mysql_escape_string($_POST['lastname']) : '';
$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']) : '';
$date = isset($_POST['date']) ? mysql_escape_string($_POST['date']) : '';

// Kiểm tra username hoặc email trong CSDL có trùng không
$sql = "SELECT * FROM users 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("Bị trùng tên hoặc chưa nhập tên!"); window.location="dangky.php";</script>';

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

if (mysqli_query($conn, $sql)){
echo "Firstname: ".$_POST['firstname']."<br/>";
echo "Lastname: ".$_POST['lastname']."<br/>";
echo "Username: ".$_POST['username']."<br/>";
echo "Password: " .$_POST['password']."<br/>";
echo "Email: ".$_POST['email']."<br/>";
}
else {
echo '<script language="javascript">alert("Có lỗi trong quá trình xử lý"); window.location="dangky.php";</script>';
}
}
}
?>

Kết quả:

tao-form-dang-ky-thanh-vien-bang-php-2

Trên đây SONGMAWEB vừa chia sẻ bài viết xây dựng chức năng tạo Form đăng ký tài khoản với PHP và MySQL đơn giản nhất. Để trang trí cho Form đăng hơn bạn sẽ tạo ra một file style.css viết code CSS cho nó.