บทนำ
Variable namespace ของ PHP ถูกเติมข้อมูลโดย external sources เช่น HTML form elements, cookies และ screen coordinates ของ image submit button
HTML form elements
เมื่อ web page ส่งข้อมูลใน HTML form ไปยัง PHP script ข้อมูลจะพร้อมใช้งานโดยอัตโนมัติในรูปของ $_POST, $_GET และ $_REQUEST variables ต่อไปนี้เป็น HTML form ทั่วไป
<form action="testscript.php" method="POST"> <input type="text" name="name"> <input type="text" name="age"> <input type="submit" value="submit"> </form>
ข้อมูลที่ user กรอก ถูก populate เป็น $_POST associative array ใน PHP script
<?php echo "Name : " . $_POST["name"] . "<br>"; echo "Age : " . $_POST["age"]; ?>
วาง HTML page ใน document root พร้อม testscript.php เปิดใน browser และกรอกข้อมูล
Name : xyz Age : 20
การใช้ method='GET' ใน HTML form ทำให้ URL ใน action attribute ถูกร้องขอด้วย HTTP GET method ข้อมูลใน form ถูก populate ใน $_GET array ตัวแปร $_REQUEST array ให้เนื้อหาของ $_GET, $_POST และ $_COOKIE predefined variables ตัวอย่าง ข้อมูลใน form element ชื่อ 'age' จะพร้อมใช้งานเป็น $_GET['age'] และ $_REQUEST['age']
Image button coordinates
ใน submit button มาตรฐาน HTML อนุญาตให้ใช้ image ใดๆ เป็น button ด้วย image input type
<input type="image" src="image.gif" name="sub" />
ในกรณีนี้ เมื่อ user คลิกที่ image พิกัด x และ y ของมิติหน้าจอก็จะถูกส่งเป็น request และเข้าถึงได้เป็น $_POST['sub_x'] และ $_POST['sub_y']
Cookie variables
PHP รองรับกลไกการเก็บและดึงข้อมูล cookies Cookie คือข้อมูลที่ server เก็บในคอมพิวเตอร์ของ client ขณะส่ง response ทุก request ต่อไปของ client จะส่ง cookies กลับมาพร้อมกับ requested parameters เช่น HTML form elements PHP ใช้ฟังก์ชัน Setcookie() เก็บ cookie Cookies อ่านได้ใน $_COOKIE array ตัวอย่างง่ายๆ ดังนี้
ตัวอย่าง
<?php if (isset($_COOKIE['name']) && isset($_COOKIE['age'])) { echo "Name:" . $_COOKIE['name'] . " age:" . $_COOKIE['age']; } setcookie('name', 'XYZ'); setcookie('age', 20); ?>เมื่อสคริปต์ข้างต้นถูกเรียกจาก browser ครั้งแรก cookies name และ age ถูกตั้งค่า ต่อมา พวกมันถูกส่งไปยัง server ใน $_COOKIE array และแสดงผลดังนี้
ผลลัพธ์
Name:XYZ age:20