Tự Học PHP
By traibingo 1 | P a g e
HTML Form - Gửi và nhận dữ liệu qua HTML Form
Cách lấy thông tin từ trình duyệt: GET, POST và COOKIE
Dữ liệu của người dùng từ trình duyệt sẽ được gửi lên máy chủ dưới dạng từng cặp biến=giá_trị
và có thể đi theo 3 con đường khác nhau. Tuỳ theo từng con đường cụ thể, trên máy chủ ta cũng
có các cách khác nhau để lấy dữ liệu được gửi lên.. 3 con đường đó là: GET, POST và
COOKIES. Vậy GET, POST và COKIES là gì?
1. Truyền dữ liệu thông qua phương thức GET
Dữ liệu gửi từ trình duyệt lên qua phương thức GET là phần dữ liệu được nhập trực tiếp theo sau
địa chỉ URL do trình duyệt gửi lên, được phân biệt với tên file script bằng dấu hỏi chấm (?). Ví
dụ, khi ta gõ vào trình duyệt địa chỉ URL sau: Khi đó, trình duyệt sẽ gửi theo địa chỉ trên một cặp biến = giá trị, trong đó biến có tên là
TOPIC_ID và giá trị là 161 (TOPIC_ID=161).
Chúng ta cũng có thể đưa lên nhiều cặp biết=giá_trị bằng cách phân cách chúng bởi dấu &:
Với địa chỉ URL trên, chúng ta sẽ gửi lên 3 cặp biến=giá_trị theo phương thức GET, đó là:
method=Reply, TOPIC_ID=161 và FORUM_ID=20.
Khi trình duyệt gửi các thông tin này lên máy chủ, PHP sẽ tự động sinh ra một mảng có tên là
$_GET[] để nắm giữ tất cả các cặp biến và giá trị đó, trong đó, chỉ số của mảng chính là một
chuỗi mang tên của tên biến và giá trị của chỉ số đó chính là giá trị của biến do trình duyệt gửi
lên. Ví dụ, với địa chỉ URL sau:
Thì PHP sẽ tự động sinh ra một mảng $_GET có nội dung sau:
$_GET["method"] = "Reply" // tương ứng với cặp method=Reply
OK, bây giờ hãy save lại. Giả sử tôi lưu với tên là welcome.php trong thư mục www. Mở trình
duyệt lên, gõ vào ô Address dòng chữ sau:
http://localhost/welcome.php?user=sinh
Hãy xem kết quả hiển thị trên màn hình, sau đó thay chữ sinh bằng một cái tên gì đó xem kết quả
ra sao.
II. Phương thức POST
Post là phần dữ liệu được gửi qua các form HTML có method ="POST" (xin xem lại bài về
HTML).
Để lấy các biến theo kiểu POST, PHP sẽ tự động sinh ra mảng có tên là $_POST[]. Mảng này có
chỉ số chính là tên của các phần tử trong form (các thẻ input, select... có thuộc tính name) và giá
trị là nội dung giá trị do người sử dụng nhập vào các phần tử có tên tương ứng. Chẳng hạn với
mẫu biểu HTML sau:
Code:
<form method="POST">
<p>
User Name:<input type="text" name="T1" size="20"> </p>
<p>
Password:
<input type="password" name="T2" size="20"></p>
<p>Sex: <Select name ="sex">
<option value =1>Male </option>
<option value =0>Female </option>
</select>
</p>
}
if (isset ($_POST["b"]))
{
$b =$_POST["b"];
}
if ($a<>0)
{
echo "<BR>Nghiem la: " . $b/$a;Chỗ này là -$b/$a
}
else
{
if ($b==0)
{
echo "<BR>Vo so nghiem";
}
else
{
echo "<BR>Vo nghiem";
}
Tự Học PHP
By traibingo 4 | P a g e
}
?>
Bây giờ hãy làm cốc cafe hoặc trà đá cho tỉnh táo.
III Cookie và cách sử dụng Cookie
Cookies là một phần dữ liệu được lưu trên máy khách. Mỗi khi máy khách gửi một yêu cầu tới
máy chủ nào đó, thì nó sẽ gửi phần dữ liệu được lưu trong cookie tương ứng với máy chủ đó.
thay vì lúc nào cũng phải gửi đi tới bất kỳ khu vực nào).
- string domain: cookie này sẽ được gửi tới domain nào?
- int secure: Chế độ bảo mật.
Các tham số trong cặp dấu ngoặc vuông là tuỳ chọn
Ví dụ: setcookie ("ten_truy_cap","lan gio vo tinh");
Tự Học PHP
By traibingo 5 | P a g e
Chú ý: Hàm setcookie phải được gọi trước khi bạn gửi bất kỳ một nội dung nào xuống
trình duyệt:
VD: Cách dùng đúng:
Code:
// Thực hiện các câu lệnh nào đó, nhưng không được phép gửi gì
xuống trình duyệt
setcookie ("ten_truy_cap","lan gio vo tinh");
setcookie ("password","thumotti");
// Thực hiện các câu lệnh tiếp theo, có thể xuất dữ liệu xuống
trình duyệt:
echo "<html><body>Xin chào lan gio vo tinh";
VD: Cách dùng sai:
Code:
// Thực hiện các câu lệnh nào đó
echo ("cái gì đó");
setcookie ("ten_truy_cap","lan gio vo tinh");