การตั้งค่า Cookie ทันทีใน PHP
เพื่อที่คุกกี้ที่ตั้งค่าจะปรากฏในอาร์เรย์ $_COOKIE ทันที
คุณสามารถใช้เทคนิคที่ฉลาดได้
สาระสำคัญของเทคนิคมีดังนี้: ก่อนอื่นตั้งค่า
คุกกี้ด้วย setcookie แล้ว
เขียนลงในอาร์เรย์ $_COOKIE ด้วยตนเอง:
<?php
setcookie('str', 'eee');
$_COOKIE['str'] = 'eee';
var_dump($_COOKIE['str']); // จะแสดง 'eee' ทันที
?>
เพื่อไม่ให้คุกกี้ถูกส่งไปยังเบราว์เซอร์ทุกครั้ง สามารถเขียนคุกกี้ภายในเงื่อนไขได้ หากไม่มีคุกกี้นั้น ให้เขียนมัน:
<?php
if (!isset($_COOKIE['str'])) { // ถ้าไม่มีคุกกี้
setcookie('str', 'eee');
$_COOKIE['str'] = 'eee';
}
echo $_COOKIE['str']; // แสดงผล 'eee'
?>
มาดูกันว่านี่ทำงานอย่างไร ในการเข้า
หน้าเว็บครั้งแรกเราจะเข้าไปใน if
ตั้งค่าคุกกี้ในเบราว์เซอร์และเขียนลงใน
$_COOKIE ทันที หลังจากนั้นผ่าน echo
ค่าที่เราเขียนด้วยตนเองจะถูกแสดงออกมา
ในการเข้าไปหน้าเว็บครั้งต่อๆ ไป เราจะไม่เข้าไปใน
if แต่ใน $_COOKIE จะมี
คุกกี้ของเราอยู่แล้ว ซึ่งมาถึงจากเบราว์เซอร์
ดังนั้น ทั้งในการเข้าใช้ครั้งแรกและ
ครั้งต่อๆ ไป ใน $_COOKIE จะมี
คุกกี้ของเราอยู่
ลองใช้เทคนิคที่อธิบายไว้