Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

ตัวแปร PHP จากแหล่งภายนอก


แนะนำตัว

เนมสเปซตัวแปรของ PHP นั้นถูกเติมโดยแหล่งภายนอก เช่น องค์ประกอบแบบฟอร์ม HTML คุกกี้ และพิกัดหน้าจอของปุ่มส่งรูปภาพ

องค์ประกอบแบบฟอร์ม HTML

เมื่อหน้าเว็บส่งข้อมูลในรูปแบบ HTML ไปยังสคริปต์ PHP ข้อมูลนั้นจะพร้อมใช้งานสำหรับสคริปต์ในรูปแบบของตัวแปร $_POST, $_GET และ $_REQUEST ต่อไปนี้เป็นรูปแบบ HTML ทั่วไป

<form action="testscript.php" method="POST">
   <input type="text" name="name">
   <input type="text" name="age">
   <input type ="submit" valaue="submit">
</form>

ข้อมูลที่ป้อนโดยผู้ใช้จะถูกเติมเป็น $_POST associative array ในสคริปต์ PHP

<?php
echo "Name : " . $_POST["name"] . "<br>";
echo "Age : " . $_POST["age"];
?>

วางหน้า HTML ในรูทเอกสารพร้อมกับ testscript.php เปิดในเบราว์เซอร์และป้อนข้อมูล

Name : xyz
Age : 20

การใช้ method='GET' ในรูปแบบ HTML ทำให้ URL ในแอ็ตทริบิวต์แอ็ตทริบิวต์ถูกร้องขอโดยใช้เมธอด HTTP GET ข้อมูลในแบบฟอร์มถูกเติมในอาร์เรย์ $_GET อาร์เรย์ $_REQUEST จัดเตรียมเนื้อหาของตัวแปรที่กำหนดไว้ล่วงหน้า $_GET, $_POST และ $_COOKIE ตัวอย่างเช่น ข้อมูลในองค์ประกอบของรูปแบบที่ชื่อ 'อายุ' จะพร้อมใช้งานเป็น $_GET['age'] และ $_REQUEST['age']

พิกัดปุ่มรูปภาพ

ในปุ่มส่งมาตรฐาน HTML อนุญาตให้ใช้รูปภาพใดๆ เป็นปุ่มที่มีประเภทอินพุตรูปภาพ

<input type="image" src="image.gif" name="sub" />

ในกรณีนี้ เมื่อผู้ใช้คลิกที่รูปภาพ พิกัด x และ y ของขนาดหน้าจอจะถูกส่งไปตามคำขอและสามารถเข้าถึงได้เป็น $_POST['sub_x'] และ $_POST['sub_y']

ตัวแปรคุกกี้

PHP รองรับกลไกการจัดเก็บและดึงคุกกี้ คุกกี้คือข้อมูลที่เซิร์ฟเวอร์จัดเก็บในคอมพิวเตอร์ของลูกค้าขณะส่งการตอบกลับ ทุกคำขอที่ตามมาโดยไคลเอ็นต์จะส่งคุกกี้กลับพร้อมกับพารามิเตอร์ที่ร้องขอ เช่น องค์ประกอบแบบฟอร์ม HTML PHP ใช้ฟังก์ชัน Setcookie() เพื่อจัดเก็บคุกกี้ คุกกี้ถูกอ่านในอาร์เรย์ $_COOKIE ต่อไปนี้เป็นตัวอย่างง่ายๆ

ตัวอย่าง

<?php
if (isset($_COOKIE['name']) && isset($_COOKIE['age'])) {
   echo "Name:" .$_COOKIE['name'] . " age:" .$_COOKIE['age'];
}
setcookie('name', 'XYZ');
setcookie('age', 20);
?>

เมื่อสคริปต์ข้างต้นถูกเรียกจากเบราว์เซอร์เป็นครั้งแรก ชื่อคุกกี้และอายุจะถูกตั้งค่า จากนั้นจะถูกส่งไปยังเซิร์ฟเวอร์ในอาร์เรย์ $_COOKIE และจะแสดงเป็นภายใต้

ผลลัพธ์

Name:XYZ age:20