การเช็คจำนวนเวลา เพื่อกระทำการต่างๆ เมื่อได้รับอนุญาติ ด้วย 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

แค่นี้ละ ครับ การใช้งานจริง ไป ดัดแปลงกันเองนะครับ ผมยกตัวอย่างให้บ้างแล้วนะครับ