يك كوكي اغلب براي شناسائي يك كاربر استفاده ميشود .كوكي فايل كوچكي است كه سرور آنرا در ،كامپيوتر كاربر قرار ميدهد .هر زماني كه همان كامپيوتر در خواست صفحه اي را توسط مرروگر دارد كوكي آن هم ارسال ميشود .باphp ميتوان كوكي ايجاد وآنرا بازيابي كرد .
يك كوكي را ميتوان با تابعsetcookie( ) ايجاد نمود فرمت كلي آن مطابق زيراست.
فقط پارامترname ضروريست و مابقي اختيا ريست .
براي بيان مطلب به بيك مثال مي پردازيم .در مثال زير يك كوكي بانام"user"و value برابر
سپس با استفاده ازمتغير سوپرگلوبال$_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>
نكته ـ تابعsetcookie( ) بايد قبل ازتگhtml قرار داشته باشد.
نكته ـ مقادير كوكي هنگام ازسال بصورت خود كارURLencoded شده است .وهنگام دريافت هم اتوماتيك رمزگشائي(decoded) شده است .براي جلوگيري از رمز گذاري از تابعsetrawcookie( ) استفاده نمائيد.
اصلاح كوكي دقيقا مثل دوباره برقرار نمودن كوكي است .اين كار بوسيله تابع setcookie() انجام ميشود .
مثال ـ اصلاح كوكي
<?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>
براي حذف كوكي از تابعsetcookie( ) استفاده ميشود .اگر زمان انقضاي كوكي به زمان گذشته تغيير كند ،كوكي حدف ميشود.
مثال ـ حذف كوكي
<?php // set the expiration date to one hour ago setcookie("user", "", time() - 3600); ?> <html> <body> <?php echo "Cookie 'user' is deleted."; ?> </body> </html>
مثال ـ در مثال زير اسكريپت كوچكي وجود دارد كه فعال بودن كوكي را بررسي ميكند .در قسمت اول كوكي با نام"test_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>