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.
Để hoạt động tốt trước tiên bạn cần phải cài đặt XAMPP 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 3 file tên là register.php (Nhập thông tin), file xuly.php (Kết nối với Database) và style.css
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à data chọn utf8_general_ci sau đó nhấp Create
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) NOT NULL,
`password` varchar(50) NOT NULL,
`phone` varchar(15) NOT NULL,
`email` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci AUTO_INCREMENT=1 ;
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">
<link rel="stylesheet" href="style.css"/>
</head>
<body>
<form method="post" action="register.php" class="form">
<h2>Đăng ký thành viên</h2>
Username: <input type="text" name="username" value="" required>
Password: <input type="text" name="password" value="" required/>
Email: <input type="email" name="email" value="" required/>
Phone: <input type="text" name="phone" value="" required/>
<input type="submit" name="dangky" value="Đăng Ký"/>
<?php require 'xuly.php';?>
</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
- Phone
Bước 3: Tiếp theo tạo file xuly.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');
// Kết nối cơ sở dữ liệu
$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'])){
$username = trim($_POST['username']);
$password = trim($_POST['password']);
$email = trim($_POST['email']);
$phone = trim($_POST['phone']);
if (empty($username)) {
array_push($errors, "Username is required");
}
if (empty($email)) {
array_push($errors, "Email is required");
}
if (empty($phone)) {
array_push($errors, "Password is required");
}
if (empty($password)) {
array_push($errors, "Two password do not match");
}
// 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)
{
echo '<script language="javascript">alert("Bị trùng tên hoặc chưa nhập tên!"); 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')";
echo '<script language="javascript">alert("Đăng ký thành công!"); window.location="register.php";</script>';
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 "Số điện thoại: ".$_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
Bước 4: Thêm CSS với file style.css để trang trí Form đẹp hơn
.form {
width: 300px;
border: 1px solid green;
padding: 20px;
margin: 0 auto;
font-weight: 700px;
}
.form input {
width: 100%;
padding: 10px 0;
}
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é!
Giải thích: Khi bạn nhập thông tin vào các trường trong Form đăng ký thì trong file xuly.php hàm isset($_POST[“dangky”]) sẽ thực thi lệnh kiểm tra xem người dùng đã click vào button hay chưa.
Nếu đã nhập đầy đủ thông tin nó sẽ kiểm tra bằng điều kiện if…else và cuối cùng ghi thông tin vào cơ sở dữ liệu bằng lệnh INSERT INTO.
Trên đây là bài viết hướng dẫn học lập trình php để tạo một Form đăng ký đơn giản nhất 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..
Sau khi đăng ký thành viên xong bạn cũng cần tạo form đăng nhập PHP để test thử xem mình thực hiện thành công chưa.