ส่งค่าข้อมูลในรูปแบบ GET
อย่างที่บอกแล้วครับว่าการส่งข้อมูลแบบ GET จะส่งค่าผ่าน URL โดยตรง โดยที่จะระบุชื่อตัวแปรแยกเป็นตัว ๆ คั่นด้วยเครื่องหมาย & ตามรูปแบบข้างล่างนี้
http://<ชื่อ Domain>/<ชื่อ Folder>/<ชื่อไฟล์ที่จะเอาค่าไปประมวลผล.php>?<ชื่อตัวแปรที่ 1=ค่า>&<ชื่อตัวแปรที่ 2=ค่า>
ตัวอย่างเช่น
http://www.nachiengmai.net/test.php?id=123&name=wacharapong
การรับข้อมูลที่ส่งมา
รูปแบบที่ 1
$_REQUEST[“ชื่อตัวแปรที่ส่งมา”]
รูปแบบที่ 2
$_GET[“ชื่อตัวแปรที่ส่งมา”]
ตัวอย่างเช่น
http://www.nachiengmai.net/test.php?id=123&name=wacharapong
จาก URL ข้างบนส่งข้อมูล id,name ไปยังหน้าเพจ test.php ก็จะเขียนคำสั่งรับข้อมูลในเพจ test.php ดังนี้ จากตัวอย่างจะให้รูปแบบการรับข้อมูล
รูปแบบที่ 1
$id=$_REQUEST[“id”]
$name=$_REQUEST[“name”]
รูปแบบที่ 2
$id=$_GET[“id”]
$name=$_GET[“name”]
หการนำไปใช้งานสามารถเลือกใช้รูปแบบใดรูปแบบหนึ่ง หลังจากนั้นค่าที่ส่งมาก็จะอยู่ใน ตัวแปรที่มารับค่าคือ $id และ $name และสามารถนำไปประมวลในหน้าเพจ test.php ได้เลย
ส่งค่าข้อมูลในรูปแบบ POST
ตามที่ได้บอกไปแล้วว่า POST เป็นการส่งรูปแบบผ่านฟอร์ม ดังนี้ในวิธีนี้เราจึงต้องสร้างไฟล์ 2 ไฟล์
– ไฟล์แรกเป็นไฟล์ที่สร้างฟอร์มขึ้นมา เพื่อส่งไปประมวลผลที่ไฟล์ที่ 2
– ไฟล์ที่ 2 เป็นไฟล์ที่นำค่าที่ได้มาจากฟอร์มในไฟล์ที่ 1 มาประมวลผล
ตัวอย่างเช่น
<form name=”form1″ method=”post” action=”test.php”>
<input name=”printto” type=”text” id=”printto”> //รับข้อมูล
<input type=”submit” name=”Submit” value=”พิมพ์”> // ปุ่มพิมพ์
</form>
จากตัวอย่าง ส่งข้อมูล แบบ POST สังเกตในส่วนของ method=”post” ส่วน action=”test.php” จะเป็นไฟลเพจที่จะส่งค่าไป
การรับข้อมูลที่ส่งมา
รูปแบบที่ 1
$_REQUEST[“ชื่อตัวแปรที่ส่งมา”]
รูปแบบที่ 2
$_POST[“ชื่อตัวแปรที่ส่งมา”]
ตัวอย่างเช่น
<form name=”form1″ method=”post” action=”test.php”>
<input name=”id” type=”text” id=”id”> //ป้อนรหัส
<input name=”name” type=”text” id=”name”> //ป้อนชื่อ
<input type=”submit” name=”Submit” value=”พิมพ์”> // ปุ่มพิมพ์
</form>
จากตัวอย่าง จะได้ฟอร์มกรอกข้อมูล คือ กรอกรหัสและชื่อ หลังจากกรอกข้อมูลเสร็จแล้ว คลิกปุ่มพิมพ์ ข้อมูลจะส่งไปที่เพจ test.php ตามที่กำหนดไว้ใน action ใน tag form
ในส่วนของเพจ test.php ก็จะทำการรับข้อมูลโดยมีรูปแบบดังนี้
รูปแบบที่ 1
$id=$_REQUEST[“id”]
$name=$_REQUEST[“name”]
รูปแบบที่ 2
$id=$_GET[“id”]
$name=$_GET[“name”]
สรุปก็คือไม่ว่าจะส่งมาข้อมาแบบ GET หรือ POST PHP ก็ใช้วิธีการรับค่าเหมือนกัน คือรับมาตรง ๆ ตัวเลย ส่งมาโดยใช้ชื่อตัวแปรว่าอะไรก็เติมเครื่องหมาย $ ข้างหน้า แล้วก็ใช้ได้เลย