บทที่ 9 การสร้างช่องรับข้อมูล


    ฟอร์ม(From)
9.1ช่องรับข้อมูลต่างๆ ใน HTML
       โดยปกติก่อนที่สร้างช่องรับข้อมูลต่างๆ เราจะต้องทำการสร้างฟอร์มก่อน ซึ่งฟอร์มจะทำหน้าที่เป็นที่รวมของช่องรับข้อมูลต่างๆ และที่กำหนดวิธีการส่งข้อมูล การระบุไฟล์ที่จะส่งข้อมูลไปประมวลผล
รูปแบบโค้ด HTML ของฟอร์มเป็นดังนี้











Name=ชื่อฟอร์ม          ระบุชื่อของฟอร์ม ในส่วนนี้อาจจะไม่ระบุก็ได้
Method=วิธีส่งข้อมูล     กำหนดวิธีการส่งข้อมูลไปยังเซิร์ฟเวอร์ ซึ่งมีอยู่ 2 ประเภท คือ
· Get เป็นวิธีการส่งข้อมูลที่จะนำค่าของช่องรับข้อมูลรวมไปกับ URL

· Post เป็นวิธีการส่งข้อมูลที่ต้องการให้เป็นความลับ คือจะไม่เห็นค่าของช่องรับข้อมูล

9.2 การส่งข้อมูล
         หลังจากเราได้ทำการสร้างฟอร์มซึ่งประกอบไปด้วยฟอร์มรับข้อมูลต่างๆ แล้วลำดับถัดไปเราจะทำการเขียนโปรแกรม เพื่อทำการรับข้อมูลนำเข้าจากฟอร์ม และนำไปประมวลผลต่อไป
       จากฟอร์มรับสมัครสมาชิกข้างต้น เมื่อผู้ใช้ทำการกรอกมูลเรียบร้อยแล้ว ต้องทำการคลิกส่งที่ปุ่มส่งข้อมูล(ตกลง) ข้อมูลของสมาชิกก็จะถูกส่งไปยังไฟล์ที่ชื่อว่า memberdata.php (ที่อยู่เซิร์ฟเวอร์) ทำการประมวลผล ซึ่งระบุไว้ที่คำสั่ง action ในบรรทัดต่อไปนี้
















      ในส่วนของโปรแกรม memberdata.php เราจะทำการเขียนโปรแกรมภาษา PHP เพื่อรับค่าที่ผู้ใช้นำเข้า โดยมีหลักการง่ายๆ คือ ให้จำชื่อรับของข้อมูลแต่ละตัวจากไฟล์ HTML โดยค่าของฟอร์มรับข้อมูลแต่ละตัวจะเก็บไว้ที่ตัวแปรชื่อเดียวกับชื่อของรับข้อมูล ดังนั้นในการแสดงผลลัพธ์ว่ามีข้อมูลนำเข้าคืออะไรเราอาจใช้คำสั่ง echo เพื่อพิมพ์ค่าของตัวแปรต่างๆ ซึ่งตัวแปรต่างๆ เราก็เพียงเติมเครื่องหมาย $ หน้าชื่อรับช่องข้อมูลเท่านั้น ดังนั้นโปรแกรม memberdata.php สามารถเขียนได้ดังนี้ 


9.3 การรวมไฟล์ HTML และ PHP

          จากตัวอย่างในหัวข้อที่ผ่านมาเราจะสังเกตเห็นว่าในการประมวลผลฟอร์มรับข้อมูล เราจะสร้างไฟล์ทีเป็นฟอร์มรับข้อมูล (HTML) และไฟล์ที่ทำการรับข้อมูลจากไฟล์ฟอร์มตัวแรก (PHP) เพื่อนำค่าที่ส่งผ่านมาไปประมวลผลต่อไปนี้ แต่ในการเขียนโปรแกรมเราอาจจะทำการรวมไฟล์ทั้งสองเป็นไฟล์เพียงไฟล์เดียวก็ได้พิจารราลักษณะการทำงานของการรวมไฟล์ HTML และ PHP 


        ตัวอย่างต่อไปนี้จะแสดงฟอร์มรับข้อมูล Username และ Password ของผู้ใช้ หลังจากนั้นจะทำการแสดงผลลัพธ์ของทั้ง 2 ค่าที่ผู้ใช้กรอกลงบนฟอร์ม โดยเขียนโปรแกรมในลักษณะรวมไฟล์ HTML และ PHP ไว้ในไฟล์เดียวกัน ทำให้ลดจำนวนไฟล์ข้อมูลของระบบงานลง ดังนี้



























อธิบายการทำงานของโปรแกรมนี้ได้ ดังนี้
    If(!send) ตรวจสอบว่าปุ่ม submit (OK) ซึ่งตั้งชื่อว่า Send ถูกคลิกหรือไม่
  ถ้าปุ่ม Submit ไม่ได้ถูกเลิก ตัวแปร $send จะเป็นเท็จ ดังนั้น lf(!send) จะกลายเป็นจริงก็จะทำบรรทัดคำสั่ง