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 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 data, images 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>
<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);
<?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>