วันจันทร์ที่ 13 ตุลาคม พ.ศ. 2557

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



               

ไม่มีความคิดเห็น:

แสดงความคิดเห็น