บทนำ
$_POST เป็น predefined variable ที่เป็น associative array ของ key-value pairs ที่ส่งไปยัง URL ด้วย HTTP POST method ที่ใช้ content-type URLEncoded หรือ multipart/form-data ใน request
$HTTP_POST_VARS ก็มีข้อมูลเดียวกัน แต่ไม่ใช่ superglobal และถูก deprecated แล้ว
วิธีง่ายที่สุดในการส่งข้อมูลไปยังเซิร์ฟเวอร์ด้วย POST request คือกำหนด attribute method ของ HTML form เป็น POST สมมติว่า URL ในเบราว์เซอร์คือ https://localhost/testscript.php method=POST ถูกตั้งใน HTML form test.html ดังนี้
<form action="testscript.php" method="POST"> <input type="text" name="name"> <input type="text" name="age"> <input type="submit" value="submit"> </form>
PHP script มีดังนี้
ตัวอย่าง
<?php echo "Name : " . $_POST["name"] . "<br>"; echo "Age : " . $_POST["age"]; ?>
ผลลัพธ์
จะได้ผลลัพธ์ดังนี้
Name : xyz Age : 20
ในตัวอย่างต่อไปนี้ ใช้ฟังก์ชัน htmlspecialchars() แปลงอักขระเป็น HTML entities
| Character | Replacement |
|---|---|
| & (ampersand) | & |
| " (double quote) | " |
| ' (single quote) | ' or ' |
| < (less than) | < |
| > (greater than) | > |
สมมติว่าผู้ใช้ส่งข้อมูล name=xyz และ age=20
ตัวอย่าง
<?php echo "Name: " . htmlspecialchars($_POST["name"]) . "<br>"; echo "age: " . htmlspecialchars($_POST["age"]) . "<br>"; ?>
ผลลัพธ์
จะได้ผลลัพธ์ดังนี้
Name : xyz Age : 20