کوکی ها متغیرهایی هستند که بصورت فایل متنی در کامپیوتر کاربر ذخیره می شوند

مسیر ذخیره کوکی برای هر مرورگری کاملا مشخص است

 
 با php شما هم می توانید کوکی را در کامپیوتر کاربر ایجاد نمائید و هم از داده های درون متغیرهر های کوکی که در کامپیوتر کاربر قرار گرفته استفاه نمائید
کوکی چگونه ایجاد می شود
تابع  setcookie برای ایجاد یک کوکی بکار می رود
 نکته : تابع setcookie باید قبل از تگ html قرار داشته باشد
 روش استفاده از setcookie
 setcookie(name, value, expire, path, domain);

name  : نام متغیر کوکی

value : مقدار متغیر کوکی

expire : تاریخ انقضای کوکی

مقدار کوکی می تواند از هر نوع داده ای باشد مثل عدد و رشته

زمان انقضای کوکی باید بر حسب ثانیه مشخص شود

دستور time یعنی لحظه ای که هم اکنون در ان هستیم

اگر بخواهیم کوکی تا 2 دقیقه دیگر زنده باشد باید زمان انقضا را بصورت زیر مشخص کنیم

time ( ) + 2 * 60

 مثال 1
 در مثال زیر ، ما کوکی به نام user می سازیم و مقدار ali را به ان اختصاص می دهیم و همچنین مشخص می کنمی کوکی بعد از گذشت یک ساعت  از قرار گرفتن در کامپیوتر کاربر از بین برود

 

 <?php
setcookie("user", "Ali", time()+3600);
?>

<html>
.....

 مثال 2
 شما به روش دیگری هم می توانید تاریخ انقضای کوکی را مشخص نمائید . این روش از بیان زمان بر حسب ثانیه ها اسان تر است

 

 <?php
$expire=time()+60*60*24*30;
setcookie("user", "Alex Porter", $expire);
?>

<html>
.....

 در مثا ل بالا زمان انقضای کوکی یک ماه مشخص شده البته با فرمول پائین :

 

 60 sec * 60 min * 24 hours * 30 days

روش دسترسی به مقدار متغیر کوکی درون کامپیوتر کاربر
 متغیر COOKIE_$ برای دسترسی به مقدار متغیر کوکی بکار می رود
 در مثال زیر ، ما مقدار متغیر کوکی به نام user را بدست اورده و انرا در خروجی نمایش می دهیم

 

 <?php
// بدست اوردن و نمایش مقدار کوکی یوزر
echo $_COOKIE["user"];

// روشی برای نمایش مقدار تمام کوکیها
print_r($_COOKIE);
?>

 
تابع isset
 با این تابع می توان فهمید که یا کوکی مورد نظر قبلا در کامپیوتر کاربر  تنظیم شده یا نه
 
<html>
<body>

<?php
if (isset($_COOKIE["user"]))
  echo "Welcome " . $_COOKIE["user"] . "!<br>";
else
  echo "Welcome guest!<br>";
?>

</body>
</html>
روش حذف کوکی
 وقتی می خواهید کوکی را حذف نمائید باید از همان دستور setcookie استفاده نمائید منتها زمان انقضای ان کوکی را زمانی در گذشته بدهید
 مثال

 

 <?php
// set the expiration date to one hour ago
setcookie("user", "", time()-3600);
?>

 
اگر برخی مرورگرها از کوکی ها پشتیبانی نککند شما باید از همان شیوه ارسال و دریافت اطلاعات توسط فرم استفاده نمائید

نکته :

اگر در زمان معرفی کوکی ، فقط نام کوکی و مقدار ان را مشخص نمائید ، و تاریخ انقضای انرا نگوئید ، کوکی تا زمانی روی سیستم کاربر زنده است که مرورگر باز است و با بسته شدن مرورگر یعنی بسته شدن ان صفحه وبی که کوکی ساخته است ، کوکی ایجاد شده هم به طور خودکار از بین می رود

مثال :

می خواهیم در صفحه اول سایت خود ، دستوراتی بنویسیم که سایت ما یادش بماند این چندمین بار است که کاربر دارد از سایت ما دیدن می کند

برای این کار دستوراتی می نویسیم که  اگر کوکی به نام count قبلا در سیستم کاربر ایجاد شده یک واحد به ان اضافه شود و اگر ایجاد نشده است ، برای اولین بار ایجاد شده و در ان مقدار 1 قرار بگیرد  و این کوکی تا 1 ماه در کامپیوتر کاربر زنده بماند

 

<?php

if(isset($_COOKIE["count"]) )

{

$a=$_COOKIE["count"];

$a++;

  setcookie ( "count" , $a, time ( ) + 2592000 ) ;

   

}

else

{

   setcookie ( "count" , 1 , time ( ) + 2592000 ) ;

}

?>