⊗ppPmSsFr 322 of 447 menu

เซสชันและฟอร์มใน PHP

สมมติว่าเรามีไฟล์ PHP สองไฟล์ มาเริ่มด้วยการวางฟอร์มในไฟล์ test1.php ที่จะถามผู้ใช้เกี่ยวกับตัวเลขสองตัว:

<form method="GET"> <input name="num1"> <input name="num2"> <input type="submit"> </form>

ในไฟล์เดียวกันนี้ เราจะวางโค้ดสำหรับประมวลผลฟอร์ม ในโค้ดนี้เราจะบันทึกข้อมูลจากอินพุตลงในเซสชัน:

<?php session_start(); if (!empty($_GET)) { $_SESSION['num1'] = $_GET['num1']; $_SESSION['num2'] = $_GET['num2']; } ?>

รายละเอียดสำคัญ: ในไฟล์ โค้ดสำหรับประมวลผลฟอร์ม จะต้องอยู่ก่อนตัวฟอร์มเอง ทำไม: เพราะในโค้ดนี้เราทำงานกับเซสชัน ดังนั้น จะต้องไม่มีการส่งผลลัพธ์ออกทางหน้าจอก่อนหน้านี้

ทีนี้มาในไฟล์ test2.php หา ผลรวมของตัวเลขที่บันทึกไว้ในเซสชัน:

<?php if (!empty($_SESSION)) { echo $_SESSION['num1'] + $_SESSION['num2']; } ?>

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

จากนั้นผู้ใช้จะต้องเข้าไปที่ หน้า test2.php ด้วยตัวเอง - และที่นั่นเขาจะเห็น ผลรวมของตัวเลขที่ป้อนเข้าไป

คุณอาจจะถาม: ทำไมต้องวุ่นวายขนาดนี้? ในเมื่อ สามารถส่งฟอร์มไปที่หน้า test2.php ได้โดยตรงเลย ไม่เป็นไรเพราะ ในกรณีนี้ความสะดวกอยู่ที่ตัวฟอร์มและโค้ด การประมวลผลของมันนั้นวางอยู่บนหน้าเดียวกัน แน่นอนว่าแบบนี้ไม่สะดวกเสมอไป แต่บางครั้ง ก็จำเป็น

บนหน้าเดียวโดยใช้ฟอร์ม ให้สอบถาม ผู้ใช้เกี่ยวกับนามสกุล ชื่อ และอายุ บันทึก ข้อมูลนี้ลงในเซสชัน เมื่อเข้าสู่อีกหน้า หนึ่ง ให้แสดงข้อมูลนี้บนหน้าจอ

ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ