เซสชันใน PHP
เมื่อเราเห็นหน้าเว็บไซต์ในเบราว์เซอร์ของเรา สคริปต์ PHP ของหน้านั้นได้ทำงานเสร็จสิ้นไปแล้ว และลืมเราไปแล้ว ดังนั้น หากเราเปลี่ยน จากหน้าหนึ่งของเว็บไซต์ไปยังอีกหน้าหนึ่ง - สคริปต์ PHP ไม่สามารถจดจำข้อมูลจากหน้าที่แล้วได้ เช่น ค่าของตัวแปร
อย่างไรก็ตาม กลไกดังกล่าวมีความจำเป็นมาก อย่างน้อยที่สุดเพื่อจดจำการเลือกของผู้ใช้ หรือว่าผู้ใช้ได้เข้าสู่ระบบแล้ว
ใน PHP สำหรับการเก็บข้อมูลของผู้ใช้ระหว่าง หน้าเว็บไซต์มีไว้สำหรับ เซสชัน เราสามารถบันทึกข้อมูลใด ๆ ลงในเซสชันและอ่านออกมาจากที่นั่นในการเรียกใช้งานครั้งต่อไป ของสคริปต์นี้หรือสคริปต์อื่นของเว็บไซต์ ด้วยการใช้เซสชันสามารถนำไปใช้งานการเข้าสู่ระบบ ของผู้ใช้, ตะกร้าสินค้าของร้านค้าออนไลน์ และอื่น ๆ
เซสชันของผู้ใช้ถูกเก็บไว้บนเซิร์ฟเวอร์ ในขณะเดียวกันมันไม่ได้อยู่ตลอดไป แต่มีอายุประมาณ ครึ่งชั่วโมง - หากผู้ใช้ภายในเวลานี้ ไม่ได้ทำการเรียกไปยังเว็บไซต์ใด ๆ เลย เซสชันของเขาจะถูกลบและจะว่างเปล่า
เอาล่ะ มาดูกันว่า如何ทำงาน
กับเซสชันใน PHP
เพื่อบันทึกบางสิ่งลงในเซสชัน ต้องเริ่มต้น
เซสชัน ด้วยฟังก์ชัน
session_start ก่อน:
<?php
session_start();
?>
หลังจากการเริ่มต้นแล้ว เราสามารถบันทึกบางสิ่ง
ลงในเซสชันหรืออ่านบางสิ่งจากที่นั่นได้
สิ่งนี้ทำได้ด้วยอาร์เรย์ซูเปอร์โกลบอล
$_SESSION
ลองฝึกปฏิบัติกัน สร้างไฟล์
test1.php และวางโค้ดต่อไปนี้ไว้ในนั้น:
<?php
session_start();
$_SESSION['test'] = 'abcde'; // เขียนลงในเซสชัน
?>
และในไฟล์ test2.php - โค้ดต่อไปนี้:
<?php
session_start();
echo $_SESSION['test']; // อ่านจากเซสชัน
?>
ตอนนี้เริ่มต้นเปิดไฟล์
test1.php ในเบราว์เซอร์ แล้วตามด้วย test2.php
เมื่อเปิดไฟล์ที่สองในเบราว์เซอร์จะแสดง
สิ่งที่ถูกบันทึกลงในเซสชันจากไฟล์แรก
สร้างไฟล์สองไฟล์ เมื่อรันไฟล์แรก ให้บันทึกตัวเลขสองตัวลงในเซสชัน และเมื่อรัน ไฟล์ที่สอง - ให้แสดงผลบนหน้าจอเป็นผลรวมของตัวเลข เหล่านี้