0Pricing
PHP Academy · บทเรียน

การเริ่มต้นและใช้งานเซสชัน

เริ่มเซสชันด้วย 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การเริ่มต้นและใช้งานเซสชัน
  2. แนวทางปฏิบัติที่ดีด้านความปลอดภัยของเซสชัน
  3. การตั้งค่าและอ่านคุกกี้
  4. ความปลอดภัยของคุกกี้: แฟล็ก HttpOnly และ Secure
← กลับไปที่ PHP Academy