การเริ่มต้นและใช้งานเซสชัน
เริ่มเซสชันด้วย session_start และจัดเก็บข้อมูลใน _SESSION
การเริ่มต้นและใช้งานเซสชัน เป็นบทเรียน PHP Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน PHP Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส PHP Academy มีบทเรียนทั้งหมด 4 บทเรียน
เซสชัน PHP คืออะไร
HTTP ไม่มีสถานะ เซสชันของ PHP จะคงข้อมูลไว้ระหว่างคำขอหลายครั้ง โดยจัดเก็บข้อมูลไว้ฝั่งเซิร์ฟเวอร์และอ้างอิงผ่านคุกกี้ที่มี ID ของเซสชัน
session_start()
เรียกใช้ session_start() ก่อนส่งเอาต์พุตใด ๆ คำสั่งนี้จะดำเนินการต่อจากเซสชันที่มีอยู่หรือสร้างเซสชันใหม่
<?php
session_start();
// Must be called before any echo/HTML outputการจัดเก็บข้อมูลใน $_SESSION
ตัวแปรโกลบอลพิเศษ $_SESSION เป็นอาร์เรย์ทั่วไป กำหนดคีย์เพื่อจัดเก็บข้อมูลสำหรับเซสชันปัจจุบัน
<?php
session_start();
$_SESSION["user_id"] = 42;
$_SESSION["username"] = "alice";
$_SESSION["cart"] = [];การอ่านข้อมูลเซสชัน
เข้าถึงข้อมูลเซสชันในคำขอถัดไปได้หลังจากเรียกใช้ session_start()
<?php
session_start();
if (isset($_SESSION["user_id"])) {
echo "Welcome back, ".$_SESSION["username"];
} else {
echo "Please log in";
}การลบคีย์ของเซสชัน
ใช้ unset() เพื่อลบคีย์ของเซสชันทีละรายการ
<?php
session_start();
unset($_SESSION["cart"]);การทำลายเซสชัน
หากต้องการให้ผู้ใช้ออกจากระบบอย่างสมบูรณ์ ให้ล้างข้อมูลเซสชันทั้งหมด ทำลายเซสชัน และทำให้คุกกี้หมดอายุ
<?php
session_start();
$_SESSION = [];
if (ini_get("session.use_cookies")) {
$p = session_get_cookie_params();
setcookie(session_name(), "", time()-3600,
$p["path"], $p["domain"], $p["secure"], $p["httponly"]);
}
session_destroy();การจัดเก็บเซสชัน
โดยค่าเริ่มต้น PHP จะจัดเก็บข้อมูลเซสชันเป็นไฟล์ในไดเรกทอรีชั่วคราวของเซิร์ฟเวอร์ ตัวจัดการแบบกำหนดเองสามารถจัดเก็บเซสชันใน Redis, Memcached หรือฐานข้อมูลได้
ID เซสชัน
รับหรือตั้งค่า ID เซสชันด้วย session_id() โดยค่าเริ่มต้น ID นี้จะถูกส่งไปยังไคลเอ็นต์เป็นคุกกี้ชื่อ PHPSESSID
อายุการใช้งานเซสชัน
ควบคุมการเก็บกวาดข้อมูลด้วย session.gc_maxlifetime ซึ่งระบุจำนวนวินาทีที่ไม่มีการใช้งานก่อนที่ข้อมูลจะมีสิทธิ์ถูกล้าง
ข้อความชั่วคราว
เซสชันเหมาะอย่างยิ่งสำหรับข้อความชั่วคราวที่แสดงเพียงครั้งเดียวหลังการเปลี่ยนเส้นทาง
<?php
// Set:
$_SESSION["flash"] = "Profile updated!";
header("Location: /profile");
// Read and remove:
$msg = $_SESSION["flash"] ?? null;
unset($_SESSION["flash"]);
echo $msg;เซสชันเทียบกับคุกกี้
เซสชันจัดเก็บข้อมูลฝั่งเซิร์ฟเวอร์ โดยส่งไปยังไคลเอ็นต์เพียง ID ส่วนคุกกี้จัดเก็บข้อมูลฝั่งไคลเอ็นต์ เซสชันจึงปลอดภัยกว่าสำหรับข้อมูลสำคัญ
สรุป
เรียกใช้ session_start() ที่ด้านบนของทุกหน้าที่ใช้เซสชัน ใช้ $_SESSION เพื่ออ่านและเขียนข้อมูล และทำลายเซสชันเมื่อผู้ใช้ออกจากระบบ
ตรวจสอบอย่างรวดเร็ว
ต้องเรียกใช้ session_start() ที่ใด
คำถามที่พบบ่อย
บทเรียน “การเริ่มต้นและใช้งานเซสชัน” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การเริ่มต้นและใช้งานเซสชัน” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส PHP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส PHP Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การเริ่มต้นและใช้งานเซสชัน”
เริ่มเซสชันด้วย session_start และจัดเก็บข้อมูลใน _SESSION คุณปฏิบัติ PHP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน PHP Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน PHP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “การเริ่มต้นและใช้งานเซสชัน” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน PHP Academy นี้ได้ไหม
ได้ บทเรียน PHP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การเริ่มต้นและใช้งานเซสชัน
- แนวทางปฏิบัติที่ดีด้านความปลอดภัยของเซสชัน
- การตั้งค่าและอ่านคุกกี้
- ความปลอดภัยของคุกกี้: แฟล็ก HttpOnly และ Secure