CƠ HỘI ĐẦU TƯ TRONG LỊCH SỬ KHÔNG THỂ BỎ QUA?

HƯỚNG DẪN TOÀN TẬP ĐẦU TƯ VỚI THỊ TRƯỜNG BITCOIN 2020

>> Xem tại đây <<

Trang chủ / PHP cơ bản / Tạo trang đăng ký thành viên – Tạo website bằng PHP (phần 3)

Tạo trang đăng ký thành viên – Tạo website bằng PHP (phần 3)

Ở bài viết trước chúng ta đã tiến hành Tạo cơ sở dữ liệu cho website , hôm nay mình sẽ tiếp tục chia sẽ đến các bạn tạo trang đăng ký thành viên và lưu dữ liệu trang đăng ký vào database website của chúng ta

TẠO TRANG ĐĂNG KÝ THÀNH VIÊN

1. Thiết kế giao diện trang đăng ký thành viên

Trong thư mục website mà chúng ta đã tạo ra ở Phần 1, các bạn tạo 1 file mới tên là dang-ky.php có nội dung như sau :

<?php include "includes/header.php" ?>
	<form action="dang-ky.php" method="post">
		<table>
			<tr>
				<td colspan="2">Form dang ky</td>
			</tr>	
			<tr>
				<td>Username :</td>
				<td><input type="text" id="username" name="username"></td>
			</tr>
			<tr>
				<td>Password :</td>
				<td><input type="password" id="pass" name="pass"></td>
			</tr>
			<tr>
				<td>Ho Ten :</td>
				<td><input type="text" id="name" name="name"></td>
			</tr>
			<tr>
				<td>Email :</td>
				<td><input type="text" id="email" name="email"></td>
			</tr>
			<tr>
				<td colspan="2" align="center"><input type="submit" name="btn_submit" value="Dang ky"></td>
			</tr>

		</table>
		
	</form>
<?php include "includes/footer.php" ?>

Ở trang đăng ký này chúng ta sẽ có :

  • Username : dùng để nhập username
  • Passsword : nhập mật khẩu
  • Ho Ten : Nhập họ tên người dùng
  • Email : địa chỉ thư điện tử email
  • Dang ky : Ấn nút đăng ký thông tin

trang đăng ký

2. Tạo kết nối đến database website

Để tạo kết nối đến database website, chúng ta sẽ tạo 1 file đặt tên là connection.php trong thư mục includes

File này sẽ có nội dung như sau :

<?php
$server_username = "root"; // thông tin đăng nhập host
$server_password = ""; // mật khẩu, trong trường hợp này là trống
$server_host = "localhost"; // host là localhost
$database = 'website'; // database là website

// Tạo kết nối đến database dùng mysqli_connect()
$conn = mysqli_connect($server_host,$server_username,$server_password,$database) or die("không thể kết nối tới database");
// Thiết lập kết nối ủa chúng ta khi truy vấn là dạng UTF8 trong trường hợp dữ liệu là tiếng việt có dâu
mysqli_query($conn,"SET NAMES 'UTF8'");
  • $server_host :tên host chưa database, ở đây mình dùng là localhost vì chạy ở máy tính cục bộ, còn khi upload website lên các host khác thì chúng ta có thể thay đổi tham số này cho phù hợp.
  • $server_username  : tên đăng nhập vào database, mặc định ở local là root
  • $server_password ; mật khẩu đăng nhập vào database, mặc định ở local là rỗng

3. Tiến hành làm chức năng đăng ký:

Mở file dang-ky.php chúng ta vửa tạo, bảng thêm đoạn code sau :

<?php require_once("lib/connection.php"); ?>

như vậy chúng ta sẽ có file dang-ky.php có nội dung như sau :

<?php include "includes/header.php" ?>
<?php require_once("includes/connection.php"); ?>
	<form action="dang-ky.php" method="post">
		<table>
			<tr>
				<td colspan="2">Form dang ky</td>
			</tr>	
			<tr>
				<td>Username :</td>
				<td><input type="text" id="username" name="username"></td>
			</tr>
			<tr>
				<td>Password :</td>
				<td><input type="password" id="pass" name="pass"></td>
			</tr>
			<tr>
				<td>Ho Ten :</td>
				<td><input type="text" id="name" name="name"></td>
			</tr>
			<tr>
				<td>Email :</td>
				<td><input type="text" id="email" name="email"></td>
			</tr>
			<tr>
				<td colspan="2" align="center"><input type="submit" name="btn_submit" value="Dang ky"></td>
			</tr>

		</table>
		
	</form>
<?php include "includes/footer.php" ?>

Sau khi đã require_once tập tin connection.php vào, chúng ta đến giai đoạn kiểm tra thông tin đăng ký hợp lệ và lưu dữ liệu vào database, ở đây mình sẽ lấy các thông tin ở form đăng ký đã tạo ở trên bằng phương thức POST, các bạn lưu ý là :

  • Trong thẻ <form> ở trên có phương thức method mình cố tình để sẵn là method=”POST” nên các bạn phải dùng từ khóa $_POST để có thể lấy được thông tin
  • Trong PHP, từ khóa $_POST chỉ lấy được giá trị của thẻ input thông qua thuộc tính name, không phải thẻ id nhé các bạn
  • Ngoài phương thức POST, chúng ta còn có thể sử dụng phương thức GET và sử dụng từ khóa $_GET để lấy dữ liệu

Trong trang đăng ký, chúng ta sẽ tiếp tục thêm vào đoạn code sau :

<?php
	if (isset($_POST["btn_submit"])) {
		//lấy thông tin từ các form bằng phương thức POST
		$username = $_POST["username"];
		$password = $_POST["pass"];
		$name = $_POST["name"];
		$email = $_POST["email"];
		//Kiểm tra điều kiện bắt buộc đối với các field không được bỏ trống
		if ($username == "" || $password == "" || $name == "" || $email == "") {
			echo "bạn vui lòng nhập đầy đủ thông tin";
		}else{
			//thực hiện việc lưu trữ dữ liệu vào db
		}
	}
?>

Ở đoạn code bên trên đây, mình dùng từ khóa isset để kiểm tra button có name là btn_submit đã được click hay chưa, nếu click rồi thì mới bắt đầu lấy thông tin và insert dữ liệu vào database, tranh trường hợp khi load trang, đoạn code thực thi sẽ tự động chạy. Như đã nói ở trên, mình dùng từ khóa $_POST để lấy các thông tin username, password, name, email và kiểm tra nếu 1 trong các field này rỗng thì sẽ xuất ra thông báo là “bạn vui lòng nhập đầy đủ thông tin”, ngược lại sẽ là thực thi việc lưu trữ dữ liệu như sau:

<?php
	if (isset($_POST["btn_submit"])) {
		//lấy thông tin từ các form bằng phương thức POST
		$username = $_POST["username"];
		$password = $_POST["pass"];
		$name = $_POST["name"];
		$email = $_POST["email"];
		//Kiểm tra điều kiện bắt buộc đối với các field không được bỏ trống
		if ($username == "" || $password == "" || $name == "" || $email == "") {
			echo "bạn vui lòng nhập đầy đủ thông tin";
		}else{
			$sql = "INSERT INTO users(username, password, fullname, email, createdate ) VALUES ( '$username', '$password', '$name', '$email', now())";
			// thực thi câu $sql với biến conn lấy từ file connection.php
			mysqli_query($conn,$sql);
			echo "chúc mừng bạn đã đăng ký thành công";
		}
	}

?>

Như vậy, toàn bộ đoạn code đầy đủ của trang dang-ky.php sẽ có nội dung như sau :

<?php include "includes/header.php" ?>
<?php require_once("includes/connection.php"); ?>
<?php
	if (isset($_POST["btn_submit"])) {
		//lấy thông tin từ các form bằng phương thức POST
		$username = $_POST["username"];
		$password = $_POST["pass"];
		$name = $_POST["name"];
		$email = $_POST["email"];
		//Kiểm tra điều kiện bắt buộc đối với các field không được bỏ trống
		if ($username == "" || $password == "" || $name == "" || $email == "") {
			echo "bạn vui lòng nhập đầy đủ thông tin";
		}else{
			$sql = "INSERT INTO users(username, password, fullname, email, createdate ) VALUES ( '$username', '$password', '$name', '$email', now())";
			// thực thi câu $sql với biến conn lấy từ file connection.php
			mysqli_query($conn,$sql);
			echo "chúc mừng bạn đã đăng ký thành công";
		}
	}

?>
	<form action="dang-ky.php" method="post">
		<table>
			<tr>
				<td colspan="2">Form dang ky</td>
			</tr>	
			<tr>
				<td>Username :</td>
				<td><input type="text" id="username" name="username"></td>
			</tr>
			<tr>
				<td>Password :</td>
				<td><input type="password" id="pass" name="pass"></td>
			</tr>
			<tr>
				<td>Ho Ten :</td>
				<td><input type="text" id="name" name="name"></td>
			</tr>
			<tr>
				<td>Email :</td>
				<td><input type="text" id="email" name="email"></td>
			</tr>
			<tr>
				<td colspan="2" align="center"><input type="submit" name="btn_submit" value="Dang ky"></td>
			</tr>

		</table>
		
	</form>
<?php include "includes/footer.php" ?>

Vậy là chúng ta đã thiết kế xong trang đăng ký cho phép người dùng nhập dữ liệu và lưu trữ vào database. Bài viết cũng khá dài nên mình tạm dừng ở đây, các bạn có thắc mắc gì thì hãy để lại comment bên dưới bài viết nhé. Trong bài tiếp theo mình sẽ nói về việc kiểm tra thông tin có trong database và tạo form đăng nhập.

 

P/S : Bài viết là công sức mình và thời gian mình bỏ ra chia sẽ đến các bạn, hy vọng các bạn học tốt hơn, nên bạn nào copy bài, vui lòng ghi rõ nguồn giúp mình nhé. Đây là nguyên tắc tôn trọng người viết bài,

Chúc các bạn học tốt !

Nguồn : tr

Có ích

khóa học tạo website bán hàng siêu tốc

Khóa học tạo website bán hàng siêu tốc – Tặng coupon giảm giá 30%

Có nhiều bạn muốn tự tay tạo cho mình một website bán hàng nhưng gặp …


Bình luận trực tiếp ↓

17 comments

  1. Avatar

    anh sửa lại đoạn này nhé
    hình như viết nhằm. cám ơn bài viết anh rất hữu ích

  2. Avatar

    Sau khi đăng kí em vào phpmyadmin không thấy bất cứ dữ liệu gì được tạo trong bảng user ạ. Mong anh giải đáp 😞

  3. Avatar

    Sau khi nhấn vào button đăng kí thì em bị lỗi như này ạ
    LỖI 404
    Localhost
    Apache / 2.4,38 (Win64) OpenSSL / 1.1.1b PHP / 7.3.3

    lúc đầu e chạy apache trong xampp không được vì bị trùng port em đã đổi thành 81 và chạy bình thường.
    Nhưng lúc code trang connection.php thì $sever_host=”localhost” thì trang web chạy được nên e để vậy,còn sữa lại thành $sever_host=”localhost:81″ thì web load mãi không vào, không để :81 thì khi nhấn bị lỗi 404.
    Mong thầy relply Cám ơn thầy ạ

  4. Avatar

    Cho em hỏi sao khi chạy lại bị lỗi 404

  5. Avatar

    Em có code trang thêm thành viên , code không sai gì cả lúc mới code xong thêm vào được .Mấy hôm sau em vào lại thì lại không thêm được , nó vẫn in ra thông báo đã thêm thành công nhưng trong database không có là sao ạ.

  6. Avatar

    Thư mục lib kia ở đâu ra, bài trước bạn đâu có tao thư mục lib

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *