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

การรับตัวแปรจากแบบฟอร์ม ส่งค่าไปยังไฟล์ PHP

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

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


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



จากนั้นก็ลองนำซอร์สโค๊ดตัวอย่างมาทดลองดูว่าได้ผลอย่างไรบ้างและแตกต่างกันอย่างไร
form.html
<html>
   <head>
       <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
       <title>ทดสอบ การรับค่าผ่านฟอร์ม คำนวณพื้นที่สี่เหลี่ยม</title>
   </head>
   <body>
  <form action="test.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>
test.php
<?php
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'], "\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'], "\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'], "\n";
echo '</pre>';
echo '--------------------------------------------------------------------';

echo '</div>';
?>
การรับตัวแปรจากแบบฟอร์ม ส่งค่าไปยังไฟล์ PHP


1. สังเกตว่า test.php?id=5 มีการส่งค่าแปร id ที่อยู่ต่อท้ายเครื่องหมาย ? มาด้วย ซึ่งข้อมูลหลังเครื่องหมายนี้จะรับค่าเป็นตัวแปร $_GET

2. ส่วนข้อมูลในแบบฟอร์มที่ให้กรอก เรากำหนดให้ METHOD ของ FORM เป็นแบบ POST ดังนั้นค่าที่ส่งมาจึงไม่ปรากฏใน URL ด้านหลัง ?

3. สำหรับตัวแปรที่ 3 $_REQUEST สามารถรับค่าได้ทั้งแบบส่งมาแบบ GET และ POST 

"PHP ไม่ได้สร้างสุดยอดโปรแกรม แต่ PHP ช่วยให้งานคุณง่ายขึ้นต่างหาก"

PHP CI MANIA PHP Code Generator 
โปรแกรมช่วยสร้างโค้ด ลดเวลาการเขียนโปรแกรม

สนใจสั่งซื้อเพียง 4,500 บาท
http://fastcoding.phpcodemania.com/

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

แจกฟรี!! ระบบต่างๆที่พัฒนาด้วย PHP สำหรับนำไปใช้ในงานต่างๆ

       สำหรับหลายท่านที่ขอโค้ดเข้ามาทาง Inbox ของเฟซบุ๊กแฟนเพจ หรือถามถึงระบบต่างๆหลังไมค์มานั้น ส่วนใหญ่ก็มีแจกอยู่แล้วในเว็บบอร์ด ThaiCreate.Com นะครับ และด้านล่างนี้ก็เป็นระบบต่างๆที่แจกให้นำไปลองใช้ลองศึกษากันครับ

สอนเขียน PHP แสดงการจองห้องประชุมแบบไฮไลท์ตามช่วงเวลา (แบบเชื่อมต่อฐานข้อมูล MySQL)

ตัวอย่าง ผลลัพธ์ที่ได้จากการจองในฐานข้อมูล ตาราง tb_room สร้างตารางรายชื่อห้องประชุม สำหรับ id นั้นเป็น Primarykey จะกำหนดให้สร้างอัตโนมัติ ทุกครั้งที่เราเพิ่มชื่อห้องประชุมใหม่ -- -- Database: `tobedev_example` -- -- -------------------------------------------------------- -- -- Table structure for table `tb_room` -- CREATE TABLE IF NOT EXISTS `tb_room` (   `id` int(11) NOT NULL,   `name` varchar(30) NOT NULL ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8; -- -- Dumping data for table `tb_room` -- INSERT INTO `tb_room` (`id`, `name`) VALUES (1, 'ห้องประชุม 1'), (2, 'ห้องประชุม 2'), (3, 'ห้องประชุม 3'), (4, 'ห้องประชุม 4'), (5, 'ห้องประชุม 5'); -- -- Indexes for dumped tables -- -- -- Indexes for table `tb_room` -- ALTER TABLE `tb_room`   ADD PRIMARY KEY (`id`); -- -- AUTO_INCREMENT for dumped tables -- -- -- AUTO_INCREMENT for table `tb_room` -- ALTER TABLE `tb_room`   MODIFY `i...

PHP กับการคิดส่วนลดเป็นเปอร์เซ็น 5%, 10%, 20% ตามช่วงราคาที่กำหนด

<?php     $total_price = 1000;     $discount = 0;         if($total_price >= 500 && $total_price < 1001){         $discount = 5;     }elseif($total_price >= 1001 && $total_price <= 5000){         $discount = 10;     }elseif($total_price >= 5001){         $discount = 20;     }         $discount_bath = ($total_price*$discount)/100; ?> <pre> ซื้อสินค้าครบ 0 ถึง 499 บาท ไม่ได้ส่วนลด ซื้อสินค้าครบ 500 ถึง 1000 บาท ได้ส่วนลด 5% ซื้อสินค้าครบ 1001 ถึง 5000บาท ได้ส่วนลด 10% ซื้อสินค้าครบ 5001 บาทขึ้นไป ได้ส่วนลด 20% </pre> <h3>รวมราคาสินค้า = <?php echo number_format($total_price,2);?></h3> <h5>ส่วนลด = <?php echo $discount;?>%  (<?php echo $discount_bath;?...