รูปแบบการส่งค่า GET and POST

ส่งค่าข้อมูลในรูปแบบ 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 ก็ใช้วิธีการรับค่าเหมือนกัน คือรับมาตรง ๆ ตัวเลย ส่งมาโดยใช้ชื่อตัวแปรว่าอะไรก็เติมเครื่องหมาย $ ข้างหน้า แล้วก็ใช้ได้เลย