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)