การรับ – ส่งค่าแบบฟอร์มชนิด $_GET

สวัสดีครับวันนี้จะมานำเสนอเทคนิคการรับส่งแบบฟอร์ม ชนิด $_GET ครับ โดยการรับค่าแบบ $_GET นี้จะแตกต่างแบบ $_POST ตรงที่การส่งข้อมูลจะส่งไปทาง URL ของเว็บโดยที่รูปแบบการส่งจะเป็นลักษณะดังตัวอย่างนี้
index.php?data1=hello

จากตัวอย่างนะครับ ค่าที่ส่งไปทาง url ก็คือ data1 ซึ่งมีค่าคือ hello ครับโดยการกำหนดขอบเขตของการเริ่มส่งค่าตัวแปร post คือเครื่องหมาย ? ที่ต่อท้ายไฟล์งานของเรา มาดูตัวอย่างต่อไปครับ

index.php?data1=hello&data2=world

 

จากตัวอย่างคือการส่งตัวแปรไป2ค่าคือ data1 และ data2 ครับ เราจะใช้สัญลักษณ์ & เป็นตัวเชื่อมตัวแปร $_GET ซึ่งเราสาสามารถส่งไปได้หลายค่า

ทีนี้เข้าใจในส่วนของรูปแบบการส่งข้อมูลแบบ $_GET แล้ว สังเกตุว่าการส่งค่าแบบนี้จะไม่มีความปลอดภัยของข้อมูลครับ แต่จะสะดวกตรงที่ว่าสามารถกำหนดค่าผ่าน url ได้เลยโดยที่ไม่ต้องผ่านแบบฟอร์มก็ได้ครับ ซึ่งการทำระบบค้นหา ต่างๆ จะนิยมใช้การรับ – ส่งข้อมูลแบบ $_GET ครับ เพราะว่าอาจมีการแบ่งหน้าและมีการส่งตัวแปรไปสม่ำเสมอ เรามาดูตัวอย่างการสร้างแบบฟอร์ม $_GET กันเลยครับ

แบบฟอร์มการส่งข้อมูล form.html

<html>
 
        <head>
 
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
            <title>Form Post Demo</title>
 
        </head>
 
        <body>
 
            <form method="get" action="show.php">
 
                ชื่อ - นามสกุล : <input type="text" name="name_txt" size="20" /><br>
 
                <input type="submit" value="ส่ง">
 
            </form>
 
        </body>
 
    </html>

ScreenShot024

// บรรทัดที่ 7 เป็นการกำหนดรูปแบบ method การส่งเป็นแบบ get แล้วให้ส่งค่าไปที่หน้า show.php โดยกำหนด input name ว่า name_txt

แบบฟอร์มการรับข้อมูล show.php

<html>
 
        <head>
 
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 
            <title>Form Get Demo</title>
 
        </head>
 
        <body>
 
        <strong>สวัสดี: </strong>
 
        <?php
 
            echo $_GET['name_txt'];
 
        ?>
 
        </body>
 
    </html>

ScreenShot025

// บรรทัดที่ 9 จะเป็นการรับค่า $_GET จากตัวแปรที่ชื่อ name_txt มาแสดงผลซึ่งให้สังเกตุที่ url ครับ จะมี ? ต่อท้าย show.php ด้วย เรามาดูรูปกันเลยครับ

ScreenShot026

หลังจากส่งค่าตัวแปรมาที่ show.php จะมี url ต่อท้าย show.php มาซึ่งเราเรียกกันว่า query string ครับ ซึ่งจะมีสัญญลักษณ์ ? แล้วจะมีตัวแปร=ค่าตัวแปร เราสามารถเอาคำสั่ง $_GET[”]; มารับค่าไปเนินการได้เลยครับ
สรุป การรับ-ส่งแบบฟอร์ม $_GET มีประโยชน์ในเรื่องของการส่งค่าตัวแปรไปทาง url ได้โดยไม่ผ่านแบบฟอร์มซึ่งนิยมเอามาทำในเรื่องของการ search หาข้อมูลเว็บต่างๆ แต่ทั้งนี้ทั้งนั้นก็บกพร่องในเรื่องความปลอดภัยครับ เพราะข้อมูลไม่เป็นความลับ ซึ่งถ้าจะเก็บข้อมูลที่มีความลับ แนะนำเก็บแบบ $_POST ครับ

ความคิดเห็น
(มีผู้เข้าชม 19,457 ครั้ง, 2 ผู้เข้าชมในวันนี้)

Related posts