ก่อนที่คุณจะสามารถเก็บข้อมูลใดๆ ในตัวแปรเซสชัน คุณต้องเริ่มเซสชันก่อน หากต้องการเริ่มเซสชันใหม่ เพียง เรียกฟังก์ชัน PHP session_start มันจะสร้างเซสชันใหม่และสร้าง ID เซสชันที่ไม่ซ้ำกันสำหรับผู้ใช้
ฉันจะเริ่มเซสชันได้ที่ไหน
คุณต้องการใส่ session_start ; ที่ด้านบนสุดของหน้าก่อนรหัสอื่น อย่างไรก็ตาม หากคุณกำลังใช้ include เพื่อทำให้ชีวิตของคุณง่ายขึ้น ทางที่ดีควรวางไว้ที่ด้านบนสุดของไฟล์ที่รวมอยู่ในไฟล์ทั้งหมด
ฉันควรเริ่มเซสชันเมื่อใด
คุณสามารถเริ่มเซสชันได้เมื่อตรวจสอบสิทธิ์ผู้ใช้แล้ว หลังจากนั้น คุณสามารถใช้ข้อมูลที่เกี่ยวข้องกับผู้ใช้ใน S_SESSION และเข้าถึงข้อมูลนี้ได้จากทุกที่ คุณควรเริ่มเซสชัน หลังจากตรวจสอบข้อมูลของผู้ใช้แล้ว และกว่าที่คุณสามารถตั้งค่า uid ของผู้ใช้เป็นตัวแปรเซสชันได้
แทรกเซสชันอย่างไร
- คุณควรเริ่มเซสชันเพียงครั้งเดียว ในตัวอย่างของคุณ เพียงแค่ต้องการ session_start ที่บรรทัดแรกของ page.php
- session_start จะสร้าง E_NOTICE หากเซสชันเริ่มต้นขึ้นก่อนหน้านี้ คุณสามารถใช้ @session_start เพื่อละเว้นได้
- นอกจากนี้ยังสร้าง E_NOTICE หากคุณใช้ session_start หลังจากคุณส่งออกโค้ด HTML
ฉันต้องเริ่มเซสชันทุกหน้าหรือไม่
ต้องอยู่ในทุกหน้าที่คุณต้องการใช้ ตัวแปรที่อยู่ในเซสชัน เช่น ชื่อผู้ใช้และสีโปรด ตั้งค่าด้วย $_SESSION ซึ่งเป็นตัวแปรส่วนกลาง ในตัวอย่างนี้ ฟังก์ชัน session_start จะอยู่หลังความคิดเห็นที่ไม่ได้พิมพ์แต่ก่อน HTML