การตั้งค่าและอ่านคุกกี้
สร้างคุกกี้ด้วย setcookie และอ่านคุกกี้จาก _COOKIE
การตั้งค่าและอ่านคุกกี้ เป็นบทเรียน PHP Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน PHP Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส PHP Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุกกี้คืออะไร
คุกกี้คือข้อมูลชิ้นเล็ก ๆ ที่จัดเก็บไว้ในเบราว์เซอร์ เซิร์ฟเวอร์ส่งคุกกี้ผ่านส่วนหัว Set-Cookie และเบราว์เซอร์จะส่งกลับมาในคำขอถัด ๆ ไปทุกครั้ง
setcookie()
ต้องเรียกใช้ setcookie() ก่อนส่งเอาต์พุตใด ๆ ฟังก์ชันนี้จะเพิ่มส่วนหัว Set-Cookie ให้กับการตอบกลับ
<?php
setcookie("username", "alice", time() + 3600);พารามิเตอร์ของ setcookie()
รูปแบบลายเซ็นเต็มคือ setcookie(name, value, expires, path, domain, secure, httponly)
<?php
setcookie(
"prefs",
"dark-mode",
time() + 86400,
"/",
"",
true,
true
);การอ่านคุกกี้
เข้าถึงคุกกี้จาก $_COOKIE ในคำขอถัดไป (คุกกี้ที่ตั้งค่าในคำขอปัจจุบันจะยังไม่อยู่ใน $_COOKIE)
<?php
if (isset($_COOKIE["username"])) {
echo "Hello, ".$_COOKIE["username"];
}การลบคุกกี้
ตั้งค่าเวลาหมดอายุของคุกกี้ให้เป็นเวลาในอดีต แล้วเบราว์เซอร์จะลบคุกกี้นั้น
<?php
setcookie("username", "", time() - 3600, "/");การหมดอายุของคุกกี้
ส่งค่าเวลาประทับแบบ Unix ให้กับ $expires ใช้ time() + seconds และส่งค่า 0 สำหรับคุกกี้เซสชันที่หมดอายุเมื่อปิดเบราว์เซอร์
เส้นทางและโดเมนของคุกกี้
$path จะจำกัดว่าเส้นทาง URL ใดบ้างที่มองเห็นคุกกี้ / หมายถึงทุกเส้นทาง ส่วน $domain อนุญาตให้แชร์คุกกี้ระหว่างโดเมนย่อย เช่น .example.com
ขนาดคุกกี้จำกัด
เบราว์เซอร์จำกัดคุกกี้แต่ละรายการไว้ที่ประมาณ 4 KB หากข้อมูลมีขนาดใหญ่กว่านั้น ให้จัดเก็บไว้ฝั่งเซิร์ฟเวอร์ และเก็บไว้ในคุกกี้เพียงรหัสอ้างอิง
อาร์เรย์คุกกี้
PHP รองรับคุกกี้รูปแบบอาร์เรย์ โดยใช้สัญลักษณ์วงเล็บเหลี่ยมในชื่อ
<?php
setcookie("filters[color]", "blue");
setcookie("filters[size]", "XL");
// Read: $_COOKIE["filters"]["color"]การตรวจสอบคุกกี้ใน DevTools
เปิด DevTools → แอปพลิเคชัน → คุกกี้ เพื่อดูคุกกี้ทั้งหมด ตรวจสอบแฟล็ก Secure, HttpOnly และ SameSite ได้ที่นี่
คุกกี้เทียบกับเซสชัน
คุกกี้: ฝั่งไคลเอนต์, ขนาดจำกัด, JS เข้าถึงได้ (เว้นแต่จะเป็น HttpOnly), จัดเก็บต่อเนื่อง เซสชัน: ฝั่งเซิร์ฟเวอร์, ขนาดไม่จำกัด, ปลอดภัยกว่า
สรุป
ใช้ setcookie() ก่อนส่งเอาต์พุต อ่านค่าจาก $_COOKIE ในคำขอถัดไป และตั้งค่าการหมดอายุ เส้นทาง โดเมน Secure และ HttpOnly ให้เหมาะสม
ตรวจสอบอย่างรวดเร็ว
คุกกี้ที่ตั้งค่าด้วย setcookie() จะพร้อมใช้งานใน $_COOKIE เมื่อใด
คำถามที่พบบ่อย
บทเรียน “การตั้งค่าและอ่านคุกกี้” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การตั้งค่าและอ่านคุกกี้” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส PHP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส PHP Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การตั้งค่าและอ่านคุกกี้”
สร้างคุกกี้ด้วย setcookie และอ่านคุกกี้จาก _COOKIE คุณปฏิบัติ PHP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน PHP Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน PHP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “การตั้งค่าและอ่านคุกกี้” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน PHP Academy นี้ได้ไหม
ได้ บทเรียน PHP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การเริ่มต้นและใช้งานเซสชัน
- แนวทางปฏิบัติที่ดีด้านความปลอดภัยของเซสชัน
- การตั้งค่าและอ่านคุกกี้
- ความปลอดภัยของคุกกี้: แฟล็ก HttpOnly และ Secure