ปัญหาที่อาจเกิดขึ้นเมื่อทำงานกับเซสชันใน PHP
ปัญหาหลักเมื่อทำงานกับเซสชันคือ: ห้ามทำการส่งผลลัพธ์ใด ๆ ไปยังเบราว์เซอร์ก่อน ที่จะทำงานกับเซสชันเสร็จสิ้น มิฉะนั้น คุณจะเห็นข้อผิดพลาดต่อไปนี้: Warning: Cannot send session cookie - headers already sent.
การส่งผลลัพธ์ไปยังเบราว์เซอร์คืออะไร? นั่นคืออักขระใด ๆ
ก่อน <?php เช่น ข้อความหรือแท็ก,
แม้แต่ช่องว่าง รวมถึงข้อความแสดงข้อผิดพลาด
จาก PHP นอกจากนี้ห้ามส่งผลลัพธ์
ผ่าน echo, var_dump
และ print_r.
การเข้ารหัสของเอกสารของคุณจะต้อง
เป็น utf-8 โดยไม่มี BOM หากเป็นแค่
utf-8 ธรรมดา ก่อน <?php
จะมีการแทรกอักขระพิเศษ ซึ่งเป็นลักษณะเฉพาะ
ของการเข้ารหัสนี้ และเซสชันจะทำงานไม่ได้
แก้ไขข้อผิดพลาดที่เกิดขึ้นในโค้ดต่อไปนี้:
ข้อความ
<?php
session_start();
?>
แก้ไขข้อผิดพลาดที่เกิดขึ้นในโค้ดต่อไปนี้:
<p>
<?php
session_start();
?>
</p>
แก้ไขข้อผิดพลาดที่เกิดขึ้นในโค้ดต่อไปนี้:
<?php
echo 'ข้อความ';
session_start();
?>