PHP ส่งค่าไปหน้าอื่น ด้วย post และ get บทความนี้สอนการใช้แท็ก HTML ร่วมกับภาษา PHP เพื่อส่งค่าไปหน้าอื่น โดยปกติวิธีการส่งค่าจะมี 2 วิธี คือ post ส่งค่าผ่านฟอร์ม และ get ส่งค่าไปกับ URL โดยมีรายละเอียดดังนี้
ตัวอย่างที่ 1 PHP ส่งค่าไปหน้าอื่น ด้วย post
<a href="index.php?a=123">ส่งค่าไปหน้าอื่นด้วย get</a>
<?php
isset( $_GET['a'] ) ? $a = $_GET['a'] : $a = "";
if( !empty( $a ) ) {
echo "<div>รับค่า a = {$a} ด้วยคำสั่ง GET</div>";
}
?>
ผลลัพธ์
รับค่า a = 123 ด้วยคำสั่ง GET
การส่งค่าไปหน้าอื่นด้วย get จะเป็นการส่งค่าแนบไปกับ URL จากตัวอย่างโค้ดส่วนที่ส่งคือ ?a=123 หมายความว่าส่งตัวแปร a ค่าเท่ากับ 123 ไปที่ไฟล์ index.php และส่วนที่รับค่าคือ $_GET['a'] หมายความว่ารับค่าตัวแปร a ชนิด get ด้วยคำสั่ง $_GET
ตัวอย่างที่ 2 PHP ส่งค่าไปหน้าอื่น ด้วย post
<form action="index.php" method="post">
ชื่อ <input type="text" name="name">
<input type="submit" value="ตกลง">
</form>
<?php
isset( $_POST['name'] ) ? $name = $_POST['name'] : $name = "";
if( !empty( $name ) ) {
echo "<div>รับค่า name = {$name} ด้วยคำสั่ง POST</div>";
}
?>
ผลลัพธ์ กรณีกรอกข้อมูลในช่องเป็น Devdit
รับค่า name = Devdit ด้วยคำสั่ง POST
การส่งค่าไปหน้าอื่นด้วย post จะเป็นการส่งค่าผ่านแท็ก form ร่วมกับปุ่ม submit จากตัวอย่างโค้ด input text มีตัวแปรชื่อ name เมื่อผู้ใช้งานกรอกข้อมูล และกดปุ่ม submit ตัวแปร name จะถูกส่งไปที่ไฟล์ที่กำหนดจากตัวอย่างคือ index.php จากนั้นรับค่าด้วย $_POST['name'] หมายความว่ารับค่าตัวแปรชื่อ name ชนิด post ด้วยคำสั่ง $_POST