คุกกี้มักจะถูกนำมาใช้เพื่อระบุผู้ใช้
คุกกี้คืออะไร?
คุกกี้มักจะถูกนำมาใช้เพื่อระบุผู้ใช้ คุกกี้เป็นไฟล์ขนาดเล็กว่าเซิร์ฟเวอร์ฝังในเครื่องคอมพิวเตอร์ของผู้ใช้ แต่ละครั้งที่คอมพิวเตอร์เครื่องเดียวกันร้องขอหน้าเว็บเบราว์เซอร์จะส่งคุกกี้เกินไป ด้วย PHP คุณทั้งสองสามารถสร้างและเรียกค่าคุกกี้
สร้าง Cookies ด้วย PHP
คุกกี้ถูกสร้างขึ้นด้วย setcookie() ฟังก์ชั่น
วากยสัมพันธ์
setcookie( name, value, expire, path, domain, secure, httponly );
เพียงพารามิเตอร์ชื่อถูกต้อง พารามิเตอร์อื่น ๆ ทั้งหมดเป็นตัวเลือก
PHP สร้าง / สืบค้นคุกกี้
ตัวอย่างต่อไปนี้สร้างคุกกี้ที่มีชื่อว่า "user" มีค่า "John Doe" คุกกี้จะหมดอายุหลังจาก 30 วัน (86400 * 30) "/" หมายความว่าคุกกี้ที่มีอยู่ในเว็บไซต์ทั้งหมด (มิฉะนั้นเลือกไดเรกทอรีที่คุณต้องการ)
จากนั้นเราจะเรียกค่าของคุกกี้ "user" (โดยใช้ตัวแปรทั่วโลก $ _COOKIE) นอกจากนี้เรายังใช้ isset() ฟังก์ชั่นเพื่อดูว่าคุกกี้จะถูกตั้ง:
ตัวอย่าง
<?php
$cookie_name = "user";
$cookie_value = "John
Doe";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
// 86400 = 1 day
?>
<html>
<body>
<?php
if(!isset($_COOKIE[$cookie_name]))
{
echo "Cookie named '" . $cookie_name . "' is not
set!";
} else {
echo "Cookie '" . $cookie_name
. "' is set!<br>";
echo "Value is: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
ตัวอย่างเช่นเรียกใช้» Note: setcookie() ฟังก์ชั่นจะต้องปรากฏก่อน <html> แท็ก
Note: ค่าของคุกกี้ที่มี urlencoded โดยอัตโนมัติเมื่อมีการส่งคุกกี้และถอดรหัสเมื่อได้รับโดยอัตโนมัติ (เพื่อป้องกันการ URLEncoding ใช้ setrawcookie() แทน)
การปรับเปลี่ยนค่าคุกกี้
หากต้องการแก้ไขคุกกี้เพิ่งตั้ง (again) คุกกี้โดยใช้ setcookie() ฟังก์ชั่น:
ตัวอย่าง
<?php
$cookie_name = "user";
$cookie_value = "Alex
Porter";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>
<html>
<body>
<?php
if(!isset($_COOKIE[$cookie_name]))
{
echo "Cookie named '" . $cookie_name . "' is not
set!";
} else {
echo "Cookie '" . $cookie_name
. "' is set!<br>";
echo "Value is: " . $_COOKIE[$cookie_name];
}
?>
</body>
</html>
ตัวอย่างเช่นเรียกใช้» ลบคุกกี้
ในการลบคุกกี้ใช้ setcookie() ฟังก์ชั่นที่มีวันหมดอายุในอดีตที่ผ่านมา:
ตัวอย่าง
<?php
// set the expiration date to one hour ago
setcookie("user",
"" , time() - 3600);
?>
<html>
<body>
<?php
echo "Cookie 'user'
is deleted.";
?>
</body>
</html>
ตัวอย่างเช่นเรียกใช้» ตรวจสอบว่า Cookies จะถูกเปิดใช้งาน
ตัวอย่างต่อไปนี้สร้างสคริปต์ขนาดเล็กที่จะตรวจสอบว่า cookies จะเปิดใช้งาน ครั้งแรกที่พยายามที่จะสร้างคุกกี้ทดสอบกับ setcookie() ฟังก์ชั่นแล้วนับตัวแปรอาร์เรย์ $ _COOKIE นี้:
ตัวอย่าง
<?php
setcookie("test_cookie", "test" , time() + 3600, '/');
?>
<html>
<body>
<?php
if(count($_COOKIE) > 0) {
echo "Cookies are enabled.";
} else {
echo
"Cookies are disabled.";
}
?>
</body>
</html>
ตัวอย่างเช่นเรียกใช้» สมบูรณ์ PHP อ้างอิง HTTP
สำหรับการอ้างอิงที่สมบูรณ์แบบของฟังก์ชั่น HTTP ไปที่สมบูรณ์ของเรา อ้างอิง HTTP PHP