สิ่งที่น่าสนใจที่สุดสำหรับผู้เยี่ยมชมไซต์และที่สำคัญที่สุดสำหรับผู้สร้างคือความสามารถในการโต้ตอบ นั่นคือความสามารถสำหรับผู้เข้าชมในการส่งข้อมูลบางอย่าง (หรือคำขอข้อมูล) ไปยังเซิร์ฟเวอร์และรับคำตอบจากเขา การจัดกระบวนการนี้ต้องการการถ่ายโอนตัวแปรจากเพจในเบราว์เซอร์ของผู้ใช้ไปยังสคริปต์ของเซิร์ฟเวอร์ วันนี้ที่พบบ่อยที่สุดคือ: จากภาษาคำอธิบายหน้า - HTML (HyperText Markup Language - "ภาษามาร์กอัปไฮเปอร์เท็กซ์") และจากภาษาสคริปต์ฝั่งเซิร์ฟเวอร์ - PHP (Hypertext Preprocessor - "hypertext preprocessor") เราจะพิจารณาตัวเลือกที่ง่ายที่สุดสำหรับการส่งตัวแปรจากหน้า HTML ไปยังสคริปต์ PHP
มันจำเป็น
ความรู้พื้นฐานเกี่ยวกับภาษา PHP และ HTML
คำแนะนำ
ขั้นตอนที่ 1
ส่วนแรกของปัญหา (การส่งต่อตัวแปรจากหน้า HTML) ได้รับการแก้ไขโดยการวางโค้ดของหน้าองค์ประกอบของแบบฟอร์มที่เหมาะสมกว่าสำหรับการป้อนข้อมูลของผู้ใช้และการถ่ายโอนประเภทข้อมูลที่ต้องการ ฟิลด์เหล่านี้อาจเป็นฟิลด์ข้อความ "ข้อความ" "พื้นที่ข้อความ" หรือ "รหัสผ่าน" ปุ่มตัวเลือก "ช่องทำเครื่องหมาย" หรือ "วิทยุ" รายการ "เลือก" ฟิลด์การเลือกไฟล์ "ไฟล์" ปุ่ม "ป้อนข้อมูล" หรือ "ซ่อน" ฟิลด์ โค้ด HTML ของแต่ละองค์ประกอบเหล่านี้ต้องมีแท็ก "name" - ประกอบด้วยชื่อของตัวแปรที่ส่งผ่าน ตัวอย่างเช่น HTML สำหรับพื้นที่ข้อความหลายบรรทัดอาจมีลักษณะดังนี้:
นี่คือข้อความเริ่มต้น
และรหัสสำหรับฟิลด์ที่ซ่อนอยู่จะเป็นดังนี้:
ต้องวางองค์ประกอบแบบฟอร์มใดๆ ไว้ในแท็กแบบฟอร์ม แท็กเปิดมีลักษณะดังนี้:
ในที่นี้ แท็ก "action" ระบุชื่อของสคริปต์เซิร์ฟเวอร์ที่ควรส่งผ่านตัวแปรที่ส่ง และแท็ก "method" ระบุวิธีการถ่ายโอนข้อมูล มีได้สองวิธีเท่านั้น - POST หรือ GET ความแตกต่างหลักระหว่างพวกเขาคือด้วยวิธี GET ตัวแปรจะถูกส่งผ่านพร้อมกับที่อยู่เพจ (URL) และด้วยวิธี POST ในพื้นที่พิเศษของแพ็กเก็ตเครือข่าย (ส่วนหัว)
แท็กปิดของแบบฟอร์มนั้นง่าย:
และแน่นอนว่าควรเพิ่มปุ่มลงในแบบฟอร์มเพื่อให้ผู้ใช้สามารถสั่งส่งตัวแปรไปยังเซิร์ฟเวอร์ได้ เป็นผลให้โค้ด HTML ของแบบฟอร์มที่มีองค์ประกอบสำหรับส่งตัวแปรไปยังสคริปต์เซิร์ฟเวอร์อาจมีลักษณะดังนี้:
นี่คือข้อความเริ่มต้น
ขั้นตอนที่ 2
ตอนนี้เรามาดูวิธีเข้าถึงตัวแปรที่ส่งมาจากสคริปต์ php ของเซิร์ฟเวอร์ ทุกอย่างง่ายมากที่นี่ - ตัวแปรที่ส่งโดยวิธี GET จะถูกวางไว้ในอาร์เรย์ superglobal $ _GET และตัวแปรที่ส่งโดยวิธี POST - ลงในอาร์เรย์ $ _POST ที่คล้ายกัน มีอาร์เรย์ superglobal อีกหนึ่งรายการ - $ _REQUEST ตัวแปรทั้งหมดตกอยู่ในนั้นไม่ว่าจะผ่านไปอย่างไร รหัส php ที่ง่ายที่สุดที่พิมพ์ข้อมูลเกี่ยวกับตัวแปรที่ได้รับจากแบบฟอร์มที่มีชื่อ hideMe และสตริงอาจมีลักษณะดังนี้:
<?php
ถ้า ($ _ โพสต์) {
echo ('ตัวแปร hideMe มีค่า "'. $ _ POST ['hideMe']. '"
');
echo ('สตริงตัวแปรมีค่า "'. $ _ POST ['strings']);
}
?>
ที่นี่ใช้ตัวดำเนินการเปรียบเทียบ "if" เพื่อตรวจสอบว่าตัวแปรใดเป็น POST เลยหรือไม่ หากคุณรวมโค้ดของแบบฟอร์ม HTML และสคริปต์ PHP ไว้ในไฟล์ PHP ไฟล์เดียว หลังจากคลิกปุ่ม "ส่ง" เราจะได้ผลลัพธ์ดังต่อไปนี้:
ขั้นตอนที่ 3
เราพบว่าเราได้แก้ไขปัญหาในการส่งพารามิเตอร์จากแบบฟอร์ม HTML และรับด้วยสคริปต์ PHP