การเช็คจำนวนเวลา เพื่อกระทำการต่างๆ เมื่อได้รับอนุญาติ ด้วย COOKIE
หลายๆ ท่านคงเคยได้พบเจอ ในเรื่องการ โหวต รูปภาพ ว่าโหวต แล้วโหวต อีกไม่ได้หรือ counter หน้าเว็บ บางเว็บ ที่ เมื่อ Refreshc แล้วตัวเลขไม่เปลี่ยนมาใช่มั้ยครับ เคยสงสัยมั้ยครับว่า
การทำมันเป็นอย่างไร วันนี้ผมจะมาสอนหลักการทำแบบง่ายๆ กับ Code ไม่ถึง 10 บรรทัด มาดูกันเลยครับ
<?
if(isset ($_COOKIE['test']))
{
echo $_COOKIE['test'];
}else
{
setcookie("test","This is cookie",time( ) +10);
echo "Create cookie";
}
?>
อย่าเพิ่ง งง กันไปนะครับ จะอธิบายให้อ่านกันตอนนี้ละครับ
if(isset ($_COOKIE['test']))
การกำหนด ค่าตัวแปร โดยจะเปลี่ยนชื่อใน หน้าแต่ละหน้า โดยตัวแปร
นั่นคือถ้าใช้งาน จริงก็เช่น if(!isset ($_COOKIE[$page])) = [$page] คือ ชื่อตัวแปล ที่เรากำหนด เพื่อใช้ในแต่ละหน้า
echo $_COOKIE['test'];
}else
บรรทัดนี้ ทำเพื่อการทดสอบเท่านั้นครับ สืบเนื่องจากคำสั่งที่ผ่าน มา ซึ่งกำหนดชื่อ COOKIE บรรทัดนี้จะบอกให้แสดงผล
setcookie("test","This is cookie",time( ) +10);
time( ) +10 = เวลาปัจจุบัน + 10 วินาที cookie จะหมดอายุ time จะนับเวลาเป็นวินาที
บรรทัดนี้ถ้าใช้งานจริงก็ ง่ายๆ ครับ เช่น
setcookie($page,"abc",time( ) +10);
abc นี่ไม่ต้อง งง นะครับ ผมแค่สมมุติ ชื่อ page ในแต่ละหน้่าให้เฉยๆ ครับ
echo "Create cookie";
}
แสดงผลคำว่า Create cookie
การทำงานของโค้ดชุดนี้ ก็คือว่า เมื่อคุณเปิดหน้านี้ ครั้งแรก จะแสดงผลคำว่า
Create cookie
จากนั้นนับไป 10 วินาที
จะกลายเป็น คำว่า
This is cookie
แค่นี้ละ ครับ การใช้งานจริง ไป ดัดแปลงกันเองนะครับ ผมยกตัวอย่างให้บ้างแล้วนะครับ