ความแตกต่างของ get และ post

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: ความแตกต่างของ get และ post

ความแตกต่างของ get และ post

โดย abdkode » 17/01/2019 6:19 pm

1.การใช้ GET
ในการใช้ GET มักจะกับข้อมูลที่ปลอดภัยกับเว็บไซต์ ไม่เป็นความลับสำคัญ เช่น คำที่ใช้ในการค้นหาข้อมูลบนเว็บไซต์
ซึ่งการส่งแบบ GET จะสามารถเก็บไว้ในแคช (Cache) ของบราวเซอร์ได้เพื่อจะได้ลดจำนวนข้อมูลที่ใช้สำหรับการติดต่อกับเซอร์เวอร์
นอกจากนั้น การส่งแบบ GET จะถูกเก็บไว้ใน browser history ด้วย
ในการส่งข้อมูลแบบ GET นั้น เราต้องกำหนด method = "get"
ตัวอย่างการใช้ GET

โค้ด: เลือกทั้งหมด

<form action="target.php" method="get">
   Name: <input type="text" name="name" />
   Age: <input type="text" name="surname" />
   <input type="submit" />
</form>
ส่วนการรับข้อมูลแบบ GET ในภาษา PHP จะใช้ตัวแปร $_GET ในการรับข้อมูลซึ่งมีโค้ดทำงานภายในดังนี้

โค้ด: เลือกทั้งหมด

<?php
   Welcome <?php echo $_GET["name"]."&nbsp ". $_GET["surname"]; ?>
?>
2.การใช้ POST
ปกติแล้วการใช้ POST ก็ต่อเมื่อข้อมูลที่ต้องการส่งมีจำนวนมาก หรือเป็นข้อมูลที่มีความสำคัญมากและต้องการปกปิด หรือทำการส่งข้อมูลบนโปรโตคอล HTTPS ในบางบราวเซอร์เช่น IE ได้มีข้อจำกัดบางอย่างเมื่อใช้ GET ซึ่งอาจจะทำให้ข้อมูลที่ส่งไปเกิดความผิดพลาดได้
ในการส่งข้อมูลแบบ POST นั้น เราต้องกำหนด method = "post" ดังตัวอย่างนี้

โค้ด: เลือกทั้งหมด

<form action="target.php" method="post">
   Name: <input type="text" name="name" />
   Age: <input type="text" name="surname" />
   <input type="submit" />
</form>
ในส่วนของไฟล์ PHP ที่รับข้อมูลที่ส่งมาจาก Form มีการกำหนด action ไปที่ไฟล์ target.php คือเมื่อผู้ใช้กดปุ่ม submit แล้วข้อมูลทั้งหมดจะถูกส่งไปยังไฟล์ที่ชื่อว่า target.php และวิธีการรับข้อมูลแบบ POST ในภาษา PHP จะใช้ตัวแปร $_POST เพื่อการรับข้อมูล
ตัวอย่างโค้ดดังนี้

โค้ด: เลือกทั้งหมด

<?php
   Welcome <?php echo $_POST["name"]."&nbsp ".$_POST["surname"]; ?> 
?>
นอกจากนั้นยังมีตัวแปรที่สามารถรับข้อมูลทั้งแบบ POST และ GET คือตัวแปร $_REQUEST ไม่ว่าจะส่งมาแบบไหน เราสามารถใช้ตัวแปรนี้ได้
สำหรับการเลือกวิธีการส่งข้อมูลนั้น เราต้องพิจารณาให้ก่อนว่า ข้อมูลมีความสำคัญมากน้อยแค่ไหนหรือเป็นความลับหรือไม่ ซึ่งละวิธีก็มีรูปแบบที่แตกต่างกันไป
หวังว่าจะเลือกใช้ให้ถูกน่ะครับ

ช่องทางการศึกษาเพิ่มเติมข่าวที่น่าสนใจเกี่ยวกับ : PHP Programming
-ศึกษาความรู้เกี่ยวกับ PHP
-ถามตอบเกี่ยวกับ PHP
-บทเรียน php พื้นฐาน
-บทเรียน PHP OOP
-บทเรียน HTML

ข้างบน