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

PHP Knowledge เป็น บอร์ดรวามความรู้ php เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย

Moderators: mindphp, ผู้ดูแลกระดาน

abdkode
PHP Super Member
PHP Super Member
Posts: 362
Joined: 07/01/2019 9:56 am

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

Postby abdkode » 17/01/2019 6:19 pm

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

Code: Select all

<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 ในการรับข้อมูลซึ่งมีโค้ดทำงานภายในดังนี้

Code: Select all

<?php
   Welcome <?php echo $_GET["name"]."&nbsp ". $_GET["surname"]; ?>
?>


2.การใช้ POST
ปกติแล้วการใช้ POST ก็ต่อเมื่อข้อมูลที่ต้องการส่งมีจำนวนมาก หรือเป็นข้อมูลที่มีความสำคัญมากและต้องการปกปิด หรือทำการส่งข้อมูลบนโปรโตคอล HTTPS ในบางบราวเซอร์เช่น IE ได้มีข้อจำกัดบางอย่างเมื่อใช้ GET ซึ่งอาจจะทำให้ข้อมูลที่ส่งไปเกิดความผิดพลาดได้
ในการส่งข้อมูลแบบ POST นั้น เราต้องกำหนด method = "post" ดังตัวอย่างนี้

Code: Select all

<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 เพื่อการรับข้อมูล
ตัวอย่างโค้ดดังนี้

Code: Select all

<?php
   Welcome <?php echo $_POST["name"]."&nbsp ".$_POST["surname"]; ?>
?>


นอกจากนั้นยังมีตัวแปรที่สามารถรับข้อมูลทั้งแบบ POST และ GET คือตัวแปร $_REQUEST ไม่ว่าจะส่งมาแบบไหน เราสามารถใช้ตัวแปรนี้ได้
สำหรับการเลือกวิธีการส่งข้อมูลนั้น เราต้องพิจารณาให้ก่อนว่า ข้อมูลมีความสำคัญมากน้อยแค่ไหนหรือเป็นความลับหรือไม่ ซึ่งละวิธีก็มีรูปแบบที่แตกต่างกันไป
หวังว่าจะเลือกใช้ให้ถูกน่ะครับ

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

Return to “PHP Knowledge”

Who is online

Users browsing this forum: No registered users and 11 guests