By GokiSoft.com| 15:10 13/04/2022|
Học PHP

[Video] Tìm hiểu về GET/POST trong PHP - Khóa học PHP/MySQL - C2110I


#readme.txt


Mục đích buổi học: giúp các bạn hiểu kỹ về GET/POST

- Tạo 1 trang đăng ký:
	- Tìm hiểu GET/POST -> đẩy dữ liệu lên chính trang register.php
- Tạo 1 trang login.php
	- Sử dụng GET/POST -> lấy thông tin
- Kết nối dữ liệu 2 trang register.php & login.php
	Lây thông đăng ký -> chuyển sang trang login.php -> người dùng vào đúng thông tin -> đăng nhập thành công & ngược lại failed
- Tạo 1 trang welcome.php -> Hiển thị thông tin tài khoản người dùng đã đăng ký

==========================================================
Kiến thức GET/POST
	- GET: Hiểu được cơ chế gửi dữ liệu từ client -> server
		  - Gửi dữ liệu lên chính nó
		  - Gửi dữ liệu sang trang khác
    - POST: tương tự trên


#register-get.php


<?php
// $_GET: array -> $key & $value
// register-get.php?fullname=TRAN+VAN+A&email=a%40gmail.com&pwd=123 => Add cac phan tu vao mang $_GET (PHP se tu lam)
// var_dump($_GET);
if(!empty($_GET)) {
	$fname = $_GET['fullname'];
	$e = $_GET['email'];
	$password = $_GET['pwd'];

	echo $fname.'-'.$e.'-'.$password;
}
?>

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title>Register Page</title>
	<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
	<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>

	<style type="text/css">
		.form-group {
			margin-bottom: 20px;
		}
	</style>
</head>
<body>
<div class="container">
	<!-- method: get -->
	<form method="get" action="">
		<div class="form-group">
			<label>Full Name</label>
			<!-- key: fullname, value: noi dung nhap trong the input nay -->
			<input type="text" name="fullname" class="form-control">
		</div>
		<div class="form-group">
			<label>Email</label>
			<input type="email" name="email" class="form-control">
		</div>
		<div class="form-group">
			<label>Password</label>
			<input type="password" name="pwd" class="form-control">
		</div>
		<div class="form-group">
			<!-- Khi click vao button Register -> Build URL:  register-get.php?fullname=???&email=???&pwd=??? -->
			<!-- Example: register-get.php?fullname=TRAN+VAN+A&email=a%40gmail.com&pwd=123 -->
			<button class="btn btn-success">Register</button>
		</div>
	</form>
</div>
</body>
</html>


#register-get-test01.php


<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title>Register Page</title>
	<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
	<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>

	<style type="text/css">
		.form-group {
			margin-bottom: 20px;
		}
	</style>
</head>
<body>
<div class="container">
	<!-- method: get -->
	<form method="get" action="test01.php">
		<div class="form-group">
			<label>Full Name</label>
			<!-- key: fullname, value: noi dung nhap trong the input nay -->
			<input type="text" name="fullname" class="form-control">
		</div>
		<div class="form-group">
			<label>Email</label>
			<input type="email" name="email" class="form-control">
		</div>
		<div class="form-group">
			<label>Password</label>
			<input type="password" name="pwd" class="form-control">
		</div>
		<div class="form-group">
			<!-- Khi click vao button Register -> Build URL:  test01.php?fullname=???&email=???&pwd=??? -->
			<!-- Example: test01.php?fullname=TRAN+VAN+A&email=a%40gmail.com&pwd=123 -->
			<button class="btn btn-success">Register</button>
		</div>
	</form>
</div>
</body>
</html>


#test01.php


<?php
// $_GET: array -> $key & $value
// test01.php?fullname=TRAN+VAN+A&email=a%40gmail.com&pwd=123 => Add cac phan tu vao mang $_GET (PHP se tu lam)
// var_dump($_GET);
if(!empty($_GET)) {
	$fname = $_GET['fullname'];
	$e = $_GET['email'];
	$password = $_GET['pwd'];

	echo $fname.'-'.$e.'-'.$password;
}
?>


#register-post.php


<?php
if(!empty($_POST)) {
	$fname = $_POST['fullname'];
	$e = $_POST['email'];
	$password = $_POST['pwd'];

	echo $fname.'-'.$e.'-'.$password;
}
?>

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title>Register Page</title>
	<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
	<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>

	<style type="text/css">
		.form-group {
			margin-bottom: 20px;
		}
	</style>
</head>
<body>
<div class="container">
	<!-- method: post -> Bao mat thong gui len server -->
	<form method="post" action="">
		<div class="form-group">
			<label>Full Name</label>
			<!-- key: fullname, value: noi dung nhap trong the input nay -->
			<input type="text" name="fullname" class="form-control">
		</div>
		<div class="form-group">
			<label>Email</label>
			<input type="email" name="email" class="form-control">
		</div>
		<div class="form-group">
			<label>Password</label>
			<input type="password" name="pwd" class="form-control">
		</div>
		<div class="form-group">
			<button class="btn btn-success">Register</button>
		</div>
	</form>
</div>
</body>
</html>


#register-post-test02.php


<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title>Register Page</title>
	<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
	<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>

	<style type="text/css">
		.form-group {
			margin-bottom: 20px;
		}
	</style>
</head>
<body>
<div class="container">
	<!-- method: post -> Bao mat thong gui len server -->
	<form method="post" action="test02.php">
		<div class="form-group">
			<label>Full Name</label>
			<!-- key: fullname, value: noi dung nhap trong the input nay -->
			<input type="text" name="fullname" class="form-control">
		</div>
		<div class="form-group">
			<label>Email</label>
			<input type="email" name="email" class="form-control">
		</div>
		<div class="form-group">
			<label>Password</label>
			<input type="password" name="pwd" class="form-control">
		</div>
		<div class="form-group">
			<button class="btn btn-success">Register</button>
		</div>
	</form>
</div>
</body>
</html>


#test02.php


<?php
if(!empty($_POST)) {
	$fname = $_POST['fullname'];
	$e = $_POST['email'];
	$password = $_POST['pwd'];

	echo $fname.'-'.$e.'-'.$password;
}
?>



#login.php


<?php
$emailPost = $pwdPost = '';
if(!empty($_POST)) {
	$emailPost = '';
	if(isset($_POST['email'])) {
		$emailPost = $_POST['email'];
	}
	
	$pwdPost = '';
	if(isset($_POST['pwd'])) {
		$pwdPost = $_POST['pwd'];
	}
}

$fullnameGet = $emailGet = $pwdGet = '';
if(!empty($_GET)) {
	$fullnameGet = $_GET['fullname'];
	$emailGet = $_GET['email'];
	$pwdGet = $_GET['pwd'];
}

echo 'LOGIN > POST > '.$emailPost.'-'.$pwdPost;
echo '<br/>REGISTER > GET > '.$fullnameGet.'-'.$emailGet.'-'.$pwdGet;

if(!empty($_POST)) {
	if($emailGet == $emailPost && $pwdGet == $pwdPost) {
	// Login thanh cong
		// echo '<br/>login success';
		header('Location: welcome.php?fullname='.$fullnameGet.'&email='.$emailGet.'&pwd='.$pwdGet);
		die();
	} else {
		// Login failed
		echo '<br/>login failed';
	}
}
?>

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title>Login Page</title>
	<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
	<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>

	<style type="text/css">
		.form-group {
			margin-bottom: 20px;
		}
	</style>
</head>
<body>
<div class="container">
	<form method="post">
		<div class="form-group">
			<label>Email</label>
			<input type="email" name="email" class="form-control">
		</div>
		<div class="form-group">
			<label>Password</label>
			<input type="password" name="pwd" class="form-control">
		</div>
		<div class="form-group">
			<button class="btn btn-success">Login</button>
		</div>
	</form>
</div>
</body>
</html>


#register.php


<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title>Register Page</title>
	<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
	<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>

	<style type="text/css">
		.form-group {
			margin-bottom: 20px;
		}
	</style>
</head>
<body>
<div class="container">
	<!--  -->
	<form method="get" action="login.php">
		<div class="form-group">
			<label>Full Name</label>
			<input type="text" name="fullname" class="form-control">
		</div>
		<div class="form-group">
			<label>Email</label>
			<input type="email" name="email" class="form-control">
		</div>
		<div class="form-group">
			<label>Password</label>
			<input type="password" name="pwd" class="form-control">
		</div>
		<div class="form-group">
			<button class="btn btn-success">Register</button>
		</div>
	</form>
</div>
</body>
</html>


#welcome.php


<?php
$fullnameGet = $emailGet = $pwdGet = '';
if(!empty($_GET)) {
	$fullnameGet = $_GET['fullname'];
	$emailGet = $_GET['email'];
	$pwdGet = $_GET['pwd'];
}

?>

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title>Welcome Page</title>
	<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
	<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<div class="container">
	<table class="table table-bordered">
		<tr>
			<th style="width: 200px;">Full Name</th>
			<td><?=$fullnameGet?></td>
		</tr>
		<tr>
			<th style="width: 200px;">Email</th>
			<td><?=$emailGet?></td>
		</tr>
		<tr>
			<th style="width: 200px;">Password</th>
			<td><?=$pwdGet?></td>
		</tr>
	</table>
</div>
</body>
</html>


Tags:



Phản hồi từ học viên

5

(Dựa trên đánh giá ngày hôm nay)

Đăng nhập để làm bài kiểm tra

Chưa có kết quả nào trước đó