Menu

7/31/20

Phương thức GET & POST trong PHP


Có 2 cách trình duyệt web người dùng (browser client) có thể gửi thông tin đến webserver.
Đó là:

+Phương thức GET lưu thông tin vào mảng $_GET

+Phương thức POST lưu thông tin vào mảng $_POST

thông tin của 2 mảng này luôn luôn được lưu vào mảng $_REQUEST

PHƯƠNG THỨC GET

Phương thức GET gửi thông tin đến trang yêu cầu (webserver) theo dạng sau:
test.php?name1=value1&name2=value2
  • GET ko thể gửi hơn 1024 kí tự.

  • GET ko dùng để gửi các thông tin nhạy cảm như password, tài khoản...
  • GET ko thể gửi các dữ liệu  binary dataimages or word documents, đến webserver
  • GET lưu thông tin nhận được vào mảng $_GET

PHƯƠNG THỨC POST

  • POST ko giới hạn dung lượng data, kí tự gửi đi.

  • POST gửi dữ liệu bảo mật, không hiện thị trên thanh URL

  • POST lưu thông tin nhận được vào mảng $_POST
So sánh sự khác biệt:

Ví dụ 1: sử dụng thẻ <a> để gửi querystring luôn luôn lưu vào mảng $_GET

file vidu1.html

    <a href="vd1.php?v1=1&v2=X">Link 1</a> <br>
    <a href="vd1.php?v1=2&v2=y">Link 2</a> <br>
    <a href="vd1.php?v1=3&v2=Z">Link 3</a> <br>

file vidu1.php

<pre>
<?php
echo "mang get<br>";
print_r($_GET);
echo "mang post<br>";
print_r($_POST);
echo "mang request <br>";
print_r($_REQUEST);

kết quả:
mang get
Array ( [v1] => 1 [v2] => X ) mang post
Array ( ) mang request
Array ( [v1] => 1 [v2] => X )

ví dụ: SUBMIT 1 FORM, input hay đối tượng button... luôn phải có thuộc tính name,

enctype="multipart/form-data" cho phép gửi dữ liệu dạng file




file html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>form</title>
</head>
<body>

<form action="vd4.php" method="get">
Ten<input type="text" name="t"> <br>
Mat Khau<input type="text" name="p"> <br>
Hinh<input type="file" name="h"> <br>
<input type="submit" name="sm1" value="Gui">
</form>
<hr>

<form action="vd4.php" method="post">
Ten<input type="text" name="t"> <br>
Mat Khau<input type="text" name="p"> <br>
Hinh<input type="file" name="h"> <br>
<input type="submit" name="sm2" value="Gui">
</form>
<hr>
<form action="vd4.php" method="post" enctype="multipart/form-data">
Ten<input type="text" name="t"> <br>
Mat Khau<input type="text" name="p"> <br>
Hinh<input type="file" name="h"> <br>
<input type="submit" name="sm3" value="Gui">
</form>
<hr>
<a href="vd4.php?v1=1&v2=X">Link 1</a> <br>
<a href="vd4.php?v1=2&v2=y">Link 2</a> <br>
<a href="vd4.php?v1=3&v2=Z">Link 3</a> <br>
<!-- queryString: v1=1&v2=X-> mang $_GET -->
</body>
</html>

file php

<pre>
<?php
echo "mang post <br>";
print_r($_GET);
echo "mang get <br>";
print_r($_POST);
echo "mang request <br>";
print_r($_REQUEST);
echo "mang files <br>";
print_r($_FILES);
$ten = isset($_REQUEST['t'])?$_REQUEST['t']:'';
echo "<hr>Chao ban $ten :<br>";


Array //mảng $_FILE ( [h] => Array ( [name] => 1.png [type] => image/png [tmp_name] => E:\wamp64\tmp\php3539.tmp [error] => 0 [size] => 16702 ) )

if (isset($_FILES['h']))
{
if ($_FILES['h']['error']==0)
{
$snguon = $_FILES['h']['tmp_name'];
$sdich = "image/".$_FILES['h']['name'];
move_uploaded_file($snguon, $sdich );
echo "<img src='$sdich'>";

}

}
?>
<a href="vd4.html">Quay lai</a>


IN BÀNG CỬU CHƯƠNG THEO MÀU

file html

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Bang cuu chuong</title>
</head>
<body>
	<form action="vd5.php" method="get">
		n<input type="text" name="n"> <br>
		color<input type="text" name="c"> <br>
		<input type="submit" value="In BCC">
	</form>
</body>
</html>
file php
<?php
$n = isset($_GET['n'])?$_GET['n']:'';
$c =isset($_GET['c'])?$_GET['c']:'';
if ($n=='')
{
	header('location:vd5.html');
	exit;
}
?>
<table bgcolor="<?php echo $c ?>">
	<tr><td colspan="3">Bang cuu chuong <?php echo $n ?></td>
	</tr>
	<?php
	for($i=1; $i<=10; $i++) 
	{
		?>
		<tr>
			<td><?php echo $n; ?></td>
			<td><?php echo $i ?></td>
			<td><?php echo $n*$i ?></td>
		</tr>
		<?php
	}
	?>
</table>


No comments:

Post a Comment