ข้ามไปที่เนื้อหาหลัก

การส่งค่าผ่านแบบฟอร์มและลิงค์ไปยังไฟล์ PHP และการรับค่าผ่านตัวแปรต่างๆ



การรับค่าจากแบบฟอร์มนั้น PHP จะใช้ตัวแปรอยู่ 3 แบบด้วยกัน คือ 
$_GET, $_POST, $_REQUEST ซึ่งแต่ละแบบจะมีการส่งค่าดังนี้

1. $_GET จะส่งค่าผ่าน URL เราจะเห็นพารามิเตอร์ที่ส่งไปต่อท้าย URL ของหน้านั้นๆ
2. $_POST จะส่งแบบไม่แสดงพารามิเตอร์ให้เห็นส่วนใหญ่จะใช้กับการส่งค่าใน HTML FORM
3. $_REQUEST จะเป็นตัวแปรที่ใช้รับค่าได้ทั้งที่ส่งมาแบบ $_GET และ $_POST


สำหรับขั้นตอนการค้นหาข้อมูลเพื่อนำมาทดสอบ เราจะใช้คีย์เวิร์ดดังนี้
เข้าไปที่เว็บไซต์ www.google.co.th แล้วค้นหาคำว่า "php การรับค่า ฟอร์ม"

จากนั้นก็ลองนำซอร์สโค๊ดตัวอย่างมาทดลองดูว่าได้ผลอย่างไรบ้างและแตกต่างกันอย่างไร







การส่งค่าผ่าน HTML FORM และ เมนูลิงค์ต่างๆ

<html>
   <head>
       <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
       <title>ทดสอบ การรับค่าผ่านฟอร์ม คำนวณพื้นที่สี่เหลี่ยม</title>
   </head>
   <body>
   | <a href="form-request.php?id=2">ส่งค่าแบบคลิกลิงค์ ไอดี 2</a> |
   <a href="form-request.php?id=3">ส่งค่าแบบคลิกลิงค์ ไอดี 3</a> |
   <a href="form-request.php?id=4&nickname=Hello World">ส่งค่าแบบคลิกลิงค์ ไอดี 4 & nickname</a> |
   <br/>
  <form action="form-request.php?id=5" method="post" name="frm_data">
    <table width="500">
   <caption><h3>ทดสอบ การรับ-ส่งค่าผ่านฟอร์ม</h3></caption>
   <tr>
    <td align="right">ชื่อเล่น :</td><td><input name="nickname" type="text" /></td>
   </tr>
     <tr>
    <td align="right"> เบอร์โทร :</td><td><input name="telephone" type="text" /></td>
   </tr>
   <tr>
    </td><td><td><input name="but_submit" type="submit" value="ส่งค่า" /></td>
   </tr>
   </form>
</body>
</html>


การรับค่าในไฟล์ PHP

<?php
header('Content-Type: text/html; charset=utf-8');

$get_id = isset($_GET['id']) ? $_GET['id'] : 0;
$post_id = isset($_POST['id']) ? $_POST['id'] : 0;
$request_id = isset($_REQUEST['id']) ? $_REQUEST['id'] : 0;

$get_nickname = isset($_GET['nickname']) ? $_GET['nickname'] : '-';
$post_nickname = isset($_POST['nickname']) ? $_POST['nickname'] : '-';
$request_nickname = isset($_REQUEST['nickname']) ? $_REQUEST['nickname'] : '-';

$get_telephone = isset($_GET['telephone']) ? $_GET['telephone'] : 0;
$post_telephone = isset($_POST['telephone']) ? $_POST['telephone'] : 0;
$request_telephone = isset($_REQUEST['telephone']) ? $_REQUEST['telephone'] : 0;

echo '<div style="font-size:14px">';

echo '--------------------------------------------------------------------';
echo '<pre>';
echo '<b>แสดงค่าตัวแปร  id</b>', "\n";
echo '$_GET[\'id\'] = ', $get_id, "\n";
echo '$_POST[\'id\'] = ', $post_id, "\n";
echo '$_REQUEST[\'id\'] = ', $request_id, "  *จะส่ง GET หรือ POST ก็รับค่าได้ \n";
echo '</pre>';
echo '--------------------------------------------------------------------';

echo '<pre>';
echo '<b>แสดงค่าตัวแปร  nickname</b>', "\n";
echo '$_GET[\'nickname\'] = ', $get_nickname, "\n";
echo '$_POST[\'nickname\'] = ', $post_nickname, "\n";
echo '$_REQUEST[\'nickname\'] = ', $request_nickname, "  *จะส่ง GET หรือ POST ก็รับค่าได้\n";
echo '</pre>';
echo '--------------------------------------------------------------------';

echo '<pre>';
echo '<b>แสดงค่าตัวแปร  telephone</b>', "\n";
echo '$_GET[\'telephone\'] = ', $get_telephone, "\n";
echo '$_POST[\'telephone\'] = ', $post_telephone, "\n";
echo '$_REQUEST[\'telephone\'] = ', $request_telephone, "  *จะส่ง GET หรือ POST ก็รับค่าได้\n";
echo '</pre>';
echo '--------------------------------------------------------------------';

echo '</div>';
?>



PHP CI MANIA PHP Code Generator 
โปรแกรมช่วยสร้างโค้ด ลดเวลาการเขียนโปรแกรม เขียนโปรแกรมง่ายและสะดวกขึ้น
สนใจสั่งซื้อราคาสุดคุ้ม >> http://fastcoding.phpcodemania.com/

ความคิดเห็น

ค้นหาในเว็บไซต์

เนื้อเพลงที่ได้รับความนิยม ในรอบสัปดาห์

ค้นหาบล็อกนี้