การรับ-ส่งข้อมูล form


- ฟอร์ม
- การส่งข้อมูล
- การรับข้อมมูล
- แบบทดสอบ

Form

Form

           Form ก็คือ แบบฟอร์มสำหรับนำส่งข้อมูล จากหน้าเว็บไซต์ ไปยังเครื่อง Server ซึ่งการสร้างฟอร์มนั้น ก็จะมีชุดคำสั่งที่ใช้สร้าง ช่องกรอกข้อมูลแบบต่างๆ มาให้เราใช้งาน
           Form ที่สร้างใน PHP นั้น จะสร้างโดยใช้ Code Html โดย Form จะสร้างด้วย Tag form โดย Form ปกติ จะต้องมี Attribute หลักๆ อยู่ 2 ตัวที่เราต้องใส่เข้าไปใน Tag form คือ action กับ method
                      1) action เป็น attribute ที่เอาไว้ระบุว่า เราจะส่งข้อมูลจาก Form ของเราไปที่ไหน โดยถ้าหากว่าเราไม่ใส่ จะเป็นการส่งข้อมูลกลับมาในหน้าเดิมที่เราอยู่
                      2) method เป็น attribute ที่เอาไว้ระบุว่า เราจะส่งข้อมูลไปแบบไหน มี 2 แบบคือ GET กับ POST ถ้าเราไม่ใส่ จะเป็นการส่งข้อมูลแบบ GET
           การที่เราจะส่งข้อมูลไปได้นั้น เราก็ต้องสร้างช่องสำหรับกรอกข้อมูลก่อน ซึ่งการสร้างตัวกรอกข้อมูล โดยปกติที่ใช้อยู่บ่อยๆ ก็จะมีอยู่ 3 Tag คือ
                      1) input เป็นตัวกรอกข้อมูลในรูปแบบต่างๆ
                                 - text คือ ค่าเริ่มต้น. กำหนดฟิลด์ข้อความบรรทัดเดียว (กว้างเริ่มต้นคือ 20 ตัวอักษร)
                                 - number คือ กำหนดช่องสำหรับป้อนตัวเลข
                                 - date คือ กำหนดควบคุมวันที่ (ปีเดือนและวัน (ไม่มีเวลา))
                                 - email คือ กำหนดเขตข้อมูลที่อยู่อีเมล
                                 - password คือ กำหนดฟิลด์รหัสผ่าน (ตัวอักษรหน้ากาก)
                                 - checkbox คือ กำหนดช่องทำเครื่องหมาย
                                 - file คือ กำหนดข้อมูลไฟล์และเลือกปุ่ม "Browse ... " (สำหรับการอัปโหลดไฟล์)
                                 - hidden คือ กำหนดช่องใส่ที่ซ่อนอยู่
                                 - submit คือ กำหนดปุ่มส่ง
                      2) textarea = เป็นช่องกรอกข้อความขนาดใหญ่
                      3) select = เป็น Dropdown ที่เอาไว้เลือกค่า
form

การสร้าง form ส่งข้อมูล

<form action="" method="" enctype="multipart/form-data" >
           //ช่องสำหรับกรอกข้อมูล
           <input type="submit">
</form>

           ในการส่งข้อมูลแบบไฟล์ จะต้องส่งแบบ POST และต้องมี Attribute enctype="multipart/form-data" เท่านั้นถึงจะส่งข้อมูลแบบไฟล์ได้

ตัวอย่าง การสร้าง form ส่งข้อมูล


<form action="" method="" enctype="multipart/form-data" >
    ชื่อ : <input type="text" name="username" value="" required><br>
    E-mail : <input type="email" name="useremail" value="" required><br>
    Password : <input type="password" name="userpassword" value="" required><br>
    วันเกิด : <input type="date" name="userbirth" value="" required><br>
    อายุ : <input type="number" name="userage" value=""required><br>
    กีฬาที่ชอบ : <input type="radio" id="sport1" name="sport1" value="บอล">บอล>
    <input type="radio" id="sport1" name="sport1" value="บาส">บาส<br>
    กีฬาที่ชอบ : <input type="checkbox" id="sport2" name="sport2[]" value="บอล">บอล>
    <input type="checkbox" id="sport2" name="sport2[]" value="บาส">บาส<br>
    <input type="hidden" name="test" value="ทดสอบการส่งข้อมูล">
    ที่อยู่ : <textarea id="address" name="address" rows="4" cols="50" required>
    </textarea><br>
    จังหวัด : <select name="province" id="province">
    <option value="เชียงใหม่"> เชียงใหม่ </option>>
    <option value="เชียงราย"> เชียงราย </option>>
    <option value="ลำปาง"> ลำปาง </option>>
    <option value="ลำพูน"> ลำพูน </option>
    </select><br>
    รูป : <input type="file" name="img" value=""required><br>
    <input type="submit">
</form>
form

การรับข้อมูลจาก form

ตัวอย่าง การรับข้อมูลจาก form


<?php 
    $username = $_GET['username'];
    $useremail = $_GET['useremail'];
    $userpassword = $_GET['userpassword'];
    $userbirth = $_GET['userbirth'];
    $userage = $_GET['userage'];
    $sport1 = $_GET['sport1'];
    $sport2 = $_GET['sport2'][0];
    $sport3 = $_GET['sport2'][1];
    $address = $_GET['address'];
    $province = $_GET['province'];
    $file_tmp_name = $_FILES['img']['tmp_name'];
    $file_name = $_FILES['img']['name'];
    $file_site = $_FILES['img']['site'];
?>
<?php
           $_GET['ชื่อตัวแปรใน form'];
           $_POST['ชื่อตัวแปรใน form'];
?>

           การรับข้อมูลแบบ GET ในภาษา PHP จะใช้ตัวแปร $_GET ในการรับข้อมูล ในการจะรับข้อมูลแบบ GET นั้น Form ที่ส่งข้อมูลมา จะต้องกำหนด method="get"
           การรับข้อมูลแบบ POST ในภาษา PHP จะใช้ตัวแปร $_POST ในการรับข้อมูลในการจะรับข้อมูลแบบ POST นั้น Form ที่ส่งข้อมูลมา จะต้องกำหนด method="post"
แบบทดสอบ

Test


1
- สร้าง form ส่งข้อมูลส่วนตัว
           - ชื่อ
           - วันเกิด
           - อายุ
           - ระดับชั้น
           - แผนก
           - สถานศึกษา
           - งานอดิเรก
- สร้าง file สำหรับรับข้อมูลจาก form
2
- สร้างโปรแกรมเครื่องคิดเลข