งานที่สำคัญและเป็นที่นิยมมากที่สุดอย่างหนึ่งใน PHP คือการถ่ายโอนข้อมูล คุณอาจเจอ URL แบบนี้มากกว่าหนึ่งครั้ง site.ru/page.php?id=114841หรือ แบบฟอร์มพร้อมช่องป้อนข้อมูลข้อความ (การลงทะเบียน ความคิดเห็นใหม่ ฯลฯ) เราจะพูดถึงในบทเรียนนี้และบทเรียนหน้า ส่งข้อมูลไปยัง PHP.
วิธีการ POST ใน PHP
วิธีการประกอบด้วยสองส่วน: HTML พร้อมแบบฟอร์มและฟิลด์ และไฟล์ตัวจัดการ PHPความสนใจ! ในการทำงาน เราแค่ต้องสร้างมันให้สอดคล้องกัน เพียงสองไฟล์.
สาธิต ดาวน์โหลดแหล่งที่มา
ลองดูตัวอย่างพร้อมความคิดเห็น - การดำเนินการให้สิทธิ์ผู้ใช้บนเว็บไซต์:
รหัส HTML(ไฟล์ post.html)
ตอนนี้เพิ่มเติมเกี่ยวกับวิธีการถ่ายโอนข้อมูล GET มีสองประเภท (ผ่าน url, เปิด - คุณสามารถเปลี่ยน url ด้วยตนเอง) และ POST (ผ่านแบบฟอร์ม, ปิด) ความแตกต่างจะอยู่ในเนื้อหาของแถบที่อยู่ซึ่งก็คือ URL
เมื่อได้รับข้อมูลที่ถ่ายโอนด้วยวิธีใดวิธีหนึ่งเหล่านี้ ข้อมูลจะถูกรวบรวมไว้ในอาร์เรย์ประเภทที่สอดคล้องกับวิธีการ ($_GET หรือ $_POST) นอกจากนี้ยังมีอาร์เรย์ชื่อ $_REQUEST ซึ่งสามารถมีทั้ง $_GET และ $_POST ในเวลาเดียวกัน แต่นี่เป็นเพียงตัวอย่างอื่น ฉันแนะนำให้ส่งข้อมูลส่วนใหญ่โดยใช้วิธี POST
ตอนนี้เรามาดูโค้ดตัวจัดการกัน
รหัสพีเอชพี(ในไฟล์ test_reg.php)
$เข้าสู่ระบบ = $_POST["เข้าสู่ระบบ"]; // ยอมรับข้อมูลที่ส่งทาง POST
$pass = $_POST["ผ่าน"]; // เข้าสู่ระบบและรหัสผ่านเป็นชื่อของช่องป้อนข้อมูล
ถ้า (($login == "ผู้ดูแลระบบ") && ($pass == "ผ่าน"))
echo "สวัสดีผู้ดูแลระบบ! วันนี้เป็นกาแฟหรือชา?)";
อย่างอื่นสะท้อน "คุณป้อนรหัสผ่านเข้าสู่ระบบไม่ถูกต้อง ลองอีกครั้ง กลับ";
?>
คุณสามารถดูว่าเราบันทึกค่าของฟิลด์ด้วยชื่อที่เกี่ยวข้องในอาร์เรย์ $_POST ลงในตัวแปรที่แยกกันได้อย่างไร แม้ว่าจะสามารถรวบรวมได้ใน $_REQUEST ก็ตาม
บางทีเราอาจพิจารณาเงื่อนไขการอนุญาตในตัวจัดการ - ไม่ว่าการเข้าสู่ระบบและรหัสผ่านในรูปแบบจะตรงกับที่เราสมมติขึ้นหรือไม่ (ผู้ดูแลระบบและรหัสผ่านตามลำดับ) และเราจะกล่าวสวัสดีกับบุคคลที่เข้ามา (สวัสดีผู้ดูแลระบบ! วันนี้เป็นกาแฟหรือชาหรือเปล่า?) หรือไม่ (คุณป้อนรหัสผ่านเข้าสู่ระบบไม่ถูกต้อง โปรดลองอีกครั้ง) อย่างไรก็ตาม หากต้องการสร้างการอนุญาตเต็มรูปแบบ คุณยังต้องทำความคุ้นเคยกับคุกกี้ เซสชัน และ . แต่จะเพิ่มเติมในภายหลัง
ในสคริปต์โดยตรง คุณสามารถประมวลผลข้อมูลตามที่คุณต้องการ: ต่อท้าย ลบ เข้ารหัส และอื่นๆ สิ่งสำคัญคือการรู้ชื่อของตัวแปร (ตั้งค่าในรูปแบบ HTML) จากนั้นรวบรวมโดยใช้อาร์เรย์ $_POST, $_GET และ $_REQUEST
ขอบคุณสำหรับความสนใจของคุณ!
- สามี (คู่สมรส)- ผู้ชายที่เกี่ยวข้องกับผู้หญิงที่เขาแต่งงานด้วย
- ภรรยา (คู่สมรส)- ผู้หญิงที่เกี่ยวข้องกับผู้ชายที่เธอแต่งงานด้วย ผู้หญิงที่แต่งงานแล้ว.
- พ่อตา- พ่อของภรรยา
- แม่สามี- แม่ของภรรยา
- พ่อตา- พ่อของสามี
- แม่สามี- แม่ของสามี
- พี่เขย- พี่ชายของสามี
- พี่เขย- น้องชายของภรรยา
- พี่สะใภ้- น้องสาวของสามี
- พี่เขย- สามีของพี่สะใภ้
- พี่สะใภ้- น้องสาวของภรรยา
- ลูกเขย- สามีของลูกสาว สามีของน้องสาว สามีของพี่สะใภ้
- สะใภ้- ภรรยาของพี่ชาย, ภรรยาของลูกชายของแม่, ภรรยาของพี่ชายคนหนึ่งที่เกี่ยวข้องกับภรรยาของพี่ชายอีกคน; ก็ใช้แทนลูกสะใภ้ พี่สะใภ้ พี่สะใภ้ด้วย
- สะใภ้- ภรรยาของลูกชายที่เกี่ยวข้องกับพ่อ
- แม่สื่อ- พ่อของคู่สมรสฝ่ายใดฝ่ายหนึ่งที่เกี่ยวข้องกับพ่อแม่ของอีกฝ่าย
- การจับคู่- แม่ของคู่สมรสฝ่ายใดฝ่ายหนึ่งที่เกี่ยวข้องกับพ่อแม่ของอีกฝ่าย
- ปู่ (ปู่)- พ่อของพ่อหรือแม่
- คุณย่า (คุณย่า)- แม่ของพ่อหรือแม่
- ลุงที่ดี- ลุงของพ่อหรือแม่
- คุณป้าผู้ยิ่งใหญ่- ป้าของพ่อหรือแม่
- หลานชาย (หลานสาว)- ลูกชาย (ลูกสาว) ของลูกสาวหรือลูกชายที่เกี่ยวข้องกับปู่หรือย่า ดังนั้นหลานชาย (หลานสาว) ของลูกพี่ลูกน้องจึงเป็นลูกชาย (ลูกสาว) ของหลานชายหรือหลานสาว
- หลานชาย (หลานสาว)- หลานชาย (หลานสาว) ของพี่ชายหรือน้องสาว
- ลุง (ลุง, ลุง)- น้องชายของพ่อหรือแม่ สามีของป้า
- คุณป้า (คุณป้า คุณป้า)- น้องสาวของพ่อหรือแม่ที่เกี่ยวข้องกับหลานชาย ภรรยาของลุงที่เกี่ยวข้องกับหลานชายของเขา
- หลานชาย (หลานสาว)- ลูกชาย (ลูกสาว) ของพี่ชายหรือน้องสาว (พี่น้อง ลูกพี่ลูกน้อง ลูกพี่ลูกน้องคนที่สอง) ดังนั้น ลูกของลูกพี่ลูกน้อง (น้องสาว) จึงเป็นหลานชายลูกพี่ลูกน้อง และลูกของลูกพี่ลูกน้องคนที่สอง (น้องสาว) ก็เป็นหลานชายลูกพี่ลูกน้องคนที่สอง
- ภราดรภาพ (พี่ชายน้องสาว)- มีแม่ร่วมกัน
- ลูกครึ่ง (พี่ชายน้องสาว)- มีพ่อร่วมกันแต่มีแม่คนละคน
- พี่น้องต่างมารดา (พี่ชาย น้องสาว)- เป็นพี่ชาย (น้องสาว) ของพ่อเลี้ยงหรือแม่เลี้ยง
- ลูกพี่ลูกน้อง- ลูกชายของลุงหรือป้าของตัวเอง
- ลูกพี่ลูกน้อง- ลูกสาวของลุงพื้นเมืองหรือป้าพื้นเมือง
- ลูกพี่ลูกน้องคนที่สอง- บุตรของลุงทวดหรือป้าทวด
- ลูกพี่ลูกน้องคนที่สอง- ลูกสาวของลุงทวดหรือป้าทวด
- เจ้าพ่อเจ้าพ่อ- พ่อทูนหัวและแม่ที่เกี่ยวข้องกับพ่อแม่ของลูกทูนหัวและต่อกันและกัน
- พ่อเลี้ยง- สามีของแม่ที่เกี่ยวข้องกับลูก ๆ ของเธอจากการแต่งงานอื่นพ่อเลี้ยง
- แม่เลี้ยง- ภรรยาของพ่อที่เกี่ยวข้องกับลูก ๆ ของเขาจากการแต่งงานอื่นแม่เลี้ยง
- ลูกเลี้ยง- ลูกเลี้ยงของคู่สมรสฝ่ายใดฝ่ายหนึ่งซึ่งเป็นญาติกับคู่สมรสอีกฝ่าย
- ลูกเลี้ยง- ลูกติดของคู่สมรสคนหนึ่งซึ่งกลายเป็นลูกสาวโดยกำเนิดของคู่สมรสอีกฝ่าย
- พ่อบุญธรรม (แม่)- บุญธรรม, รับเลี้ยงใครสักคน
- บุตรบุญธรรม (ลูกสาว)- เป็นลูกบุญธรรม, เป็นลูกบุญธรรมโดยใครบางคน
- ลูกเขยบุญธรรม (พรีมัค)- ลูกเขยที่รับเลี้ยงมาในครอบครัวของภรรยาโดยอาศัยอยู่ในบ้านของภรรยา
- พ่อม่าย- ชายที่ภรรยาเสียชีวิต
- แม่ม่าย- ผู้หญิงที่สามีเสียชีวิต
- เมืองแฝด- พี่น้อง ส่วนใหญ่เป็นลูกพี่ลูกน้อง เพื่อนฝูง ที่ช่วยเหลือกันในยามยากลำบาก
ดังนั้นเราจึงศึกษาพื้นฐานของ PHP อีกครั้งและในบทความนี้เราจะทำความคุ้นเคยกับวิธีส่งผ่านตัวแปรใน PHP ได้แก่ วิธีการรับและโพสต์- แต่ละรายการมีข้อดีและข้อเสีย และใช้ในสถานการณ์ที่เหมาะสมซึ่งจะกล่าวถึงในบทความนี้ นอกจากนี้เรายังจะดูตัวอย่างโค้ดที่สาธิตวิธีการทำงานของวิธี POST และ GET
การส่งผ่านตัวแปรโดยใช้วิธี GET
วิธีการส่งตัวแปรนี้ใช้ใน PHP เพื่อส่งผ่านตัวแปรไปยังไฟล์โดยใช้แถบที่อยู่ นั่นคือตัวแปรจะถูกส่งทันทีผ่านแถบที่อยู่ของเบราว์เซอร์ ตัวอย่างเช่น ลิงก์ไปยังบทความใน WordPress โดยไม่ใช้ CNC (SEF) ซึ่งมีลักษณะดังนี้:
https://site/?p=315
นั่นคือในกรณีนี้ ตัวแปร $p ที่มีค่า 315 จะถูกส่งผ่าน ตอนนี้เรามาดูวิธีการ GET โดยละเอียดมากขึ้นโดยใช้ตัวอย่าง สมมติว่าเราต้องส่งตัวแปรสามตัว $a, $b และ $c ไปที่ไฟล์ วิธีการรับและแสดงผลรวมบนหน้าจอ คุณสามารถใช้รหัสต่อไปนี้สำหรับสิ่งนี้
$a = $_GET["a"]; $b = $_GET["b"]; $c = $_GET["ค"]; $summa = $a + $b + $c; echo "ผลรวม $a + $b + $c = $summa";
เนื่องจากตัวแปรทั้งหมดจะถูกวางไว้ใน อาร์เรย์ระดับโลก GET() จากนั้นเราจะกำหนดค่าขององค์ประกอบที่สอดคล้องกันของอาร์เรย์ GET ให้ตัวแปรของเราก่อน เราทำสิ่งนี้ตั้งแต่เริ่มต้นเพื่อหลีกเลี่ยงข้อผิดพลาดต่างๆ เมื่อส่งผ่านตัวแปร ต่อไปเพื่อสาธิตการทำงาน เราเขียนสูตรที่กำหนดเองและแสดงผลลัพธ์บนหน้าจอ
หากต้องการทดสอบวิธี GET เพียงเพิ่มเครื่องหมายคำถาม “?” ลงในลิงก์ไฟล์ และผ่านเครื่องหมายและ "&" แสดงรายการตัวแปรที่มีค่า ให้เรามีไฟล์ get.phpซึ่งอยู่ที่รากของไซต์ ในการถ่ายโอนตัวแปรไปยังไฟล์ เพียงเขียนสิ่งต่อไปนี้ลงในแถบที่อยู่
http://site/get.php?a=1&b=2&c=3
ดังที่คุณเห็นจากตัวอย่าง ขั้นแรกเราจะเพิ่มเครื่องหมายคำถามไว้หลังชื่อไฟล์ ต่อไป เราจะลงทะเบียนตัวแปรและระบุค่าโดยใช้เท่ากับ หลังจากนี้ เราจะแสดงรายการตัวแปรอื่นๆ ในลักษณะเดียวกันผ่านเครื่องหมายแอมเพอร์แซนด์ ตอนนี้ เมื่อเราไปตามลิงค์นี้ เราจะเห็นผลรวมของตัวแปร $a, $b และ $c
วิธีนี้ง่ายมาก และไม่จำเป็นต้องสร้างไฟล์เพิ่มเติม ข้อมูลที่จำเป็นทั้งหมดมาโดยตรงผ่านแถบที่อยู่ของเบราว์เซอร์
ทีนี้เรามาดูวิธีที่สองในการส่งผ่านตัวแปรใน PHP กันดีกว่า - ด้วยวิธี POST.
การส่งผ่านตัวแปรไปยัง PHP โดยใช้วิธี POST
วิธีนี้ช่วยให้คุณถ่ายโอนตัวแปรอย่างลับๆ จากไฟล์หนึ่งไปยังอีกไฟล์หนึ่งได้ ตามที่คุณเข้าใจแล้ว โดยปกติจะใช้สองไฟล์เพื่อวัตถุประสงค์เหล่านี้ อันแรกมีแบบฟอร์มสำหรับการป้อนข้อมูลเริ่มต้น และอันที่สองประกอบด้วยไฟล์ผู้บริหารที่ยอมรับตัวแปร สำหรับการสาธิต ลองดูโค้ดต่อไปนี้
รหัสไฟล์แรกพร้อมแบบฟอร์มการส่งข้อมูล ตั้งชื่อมันว่า post-1.php
- การกระทำ – ระบุไฟล์ที่จะถ่ายโอนตัวแปร
- วิธีการ – วิธีการส่งผ่านตัวแปร ในกรณีของเรา นี่คือวิธี POST
- ชื่อ – ชื่อของแบบฟอร์ม ในเวลาเดียวกัน ตัวแปรที่มีชื่อเดียวกันจะถูกถ่ายโอนไปยังไฟล์
ช่องข้อความ:
- ชื่อ – ชื่อตัวแปร ในกรณีของเรา นี่คือชื่อและนามสกุล (ตัวแปรชื่อและนามสกุล)
- ประเภท – ประเภทฟิลด์ ในกรณีของเรา นี่คือช่องข้อความ
- name – ชื่อของปุ่มและตัวแปรที่จะถูกส่งไปพร้อมกับตัวแปรอื่นๆ
- ประเภท – ประเภทปุ่ม ในกรณีของเรานี่คือปุ่มสำหรับส่งข้อมูล
- ค่า – ข้อความบนปุ่ม
รหัสของไฟล์ที่สองซึ่งจะทำหน้าที่เป็นตัวรับตัวแปร เรียกมันว่า post-2.php กันดีกว่า
$ชื่อ = $_POST; $นามสกุล = $_POST; echo "ค่าของตัวแปรที่ส่งผ่านโดยวิธี POST คือ $name และ $lastname";
เช่นเดียวกับวิธี GET เราจะกำหนดค่าขององค์ประกอบที่เกี่ยวข้องให้กับตัวแปรก่อน อาร์เรย์ระดับโลกโพสต์- ต่อไป เพื่อความชัดเจน เราจะแสดงตัวแปรเหล่านี้บนหน้าจอโดยใช้
ตอนนี้เมื่อเราโหลดไฟล์แรก แบบฟอร์มก็จะโหลดขึ้นมา หลังจากป้อนข้อมูลแล้วให้คลิกที่ปุ่ม "ส่ง" ซึ่งส่งผลให้หน้าที่มีไฟล์ที่สองเปิดขึ้นในแท็บใหม่ซึ่งจะแสดงค่าที่เขียนในแบบฟอร์มในหน้าก่อนหน้า นั่นคือค่าของตัวแปรจากไฟล์แรกจะถูกถ่ายโอนไปยังไฟล์ที่สอง
นี่เป็นการสรุปบทความนี้เกี่ยวกับการส่งผ่านตัวแปรใน PHP หากคุณไม่ต้องการพลาดการปรากฏตัวของบทความอื่น ๆ ในบล็อก ฉันขอแนะนำให้สมัครรับจดหมายข่าวด้วยวิธีที่สะดวกในส่วน "สมัครสมาชิก" หรือใช้แบบฟอร์มด้านล่าง
นั่นคือทั้งหมดที่ ขอให้โชคดีและประสบความสำเร็จในการเรียนรู้พื้นฐานของ PHP