ایجاد کوکی ( cookie ) در PHP :
از تابع ( ) setcookie برای ایجاد و ذخیره یک کوکی در زبان PHP استفاده می شود . برای ایجاد یک کوکی تعیین چند چیز مهم است :
- نام
- مقدار
- مدت زمان اعتبار *
* نکته : توجه داشته باشید که کوکی ها پس از یک مدت زمان تعیین شده ، اعتبار خود را از دست می دهند و باید دوباره فراخوانی شوند . در این حالت می گوییم ، کوکی expire شده است .
برای مثال فرض کنید در یک سایت login کرده اید . سپس کامپیوتر و مرورگر خود را برای مدتی رها می کنید ( مرورگر و صفحه جاری را نمی بندید ) . پس از مراجعه دوباره متوجه می شوید ، که مرورگر شما را logout کرده است و دوباره باید وارد شوید . دلیل این مسئله پایان یافتن مدت زمان اعتبار یک کوکی است .
شکل کلی تعریف و ایجاد یک کوکی به وسیله تابع ( ) setcookie در PHP به صورت زیر است :
Syntax |
< ? php setcookie ( name , value , expire , path , domain ) ; ? > |
syntax توضیح هر یک از موارد | |
توضیح | پارامتر |
پارامتر name تعیین کننده نام کوکی است . از این نام برای بازیابی و فراخوانی کوکی در سطح برنامه استفاده می شود . | name |
پارامتر value مقدار کوکی را تعیین می کند .این مقدار بر روی کامپیوتر ذخیره می شود . | value |
پارامتر expire تعیین کننده مدت زمان اعتبار کوکی ، بر حسب ثانیه است . پس از اتمام این مدت زمان ، کوکی از بین خواهد رفت . برای تعیین مدت زمان اعتبار کوکی ، معمولا از تابع ( ) time استفاده می شود . |
expire |
این پارامتر تعیین کننده مسیری بر روی سرور سایت است که کوکی در آن ، قابل دریافت و ذخیره است . برای مثال اگر مقدار آن برابر با '/' تعیین شود ، در تمام سایت قابل دسترسی است . اما اگر روی مقدار /en/' تنظیم شود ، فقط در دایرکتوری en در سایت قابل دسترسی است . تعیین این پارامتر اختیاری است . |
path |
پارامتر domain ، دامنه ای که کوکی بر روی آن قابل دسترس است را تعیین می کند . برای مثال اگر مقدار آن 'www.Hassas-Computer.com' تنظیم شود ، فقط در این دامنه قابل دسترسی است . تعیین این پارامتر اختیاری است . |
domain |
مثال های عملی :
در مثال های زیر نحوه ایجاد چند کوکی را با پارامترهای مختلف به شما نمایش داده ایم :
مثال 1 :در مثال زیر یک کوکی به نام info با مقدار Mehrdad را ایجاد کرده ایم ، که برای مدت یک ساعت ( 3600 ثانیه ) اعتبار دارد . به کد مثال دقت نمایید :
Example |
< ? php setcookie ( " info ", " Mehrdad ", time( )+3600 ) ; ? > |
مثال 2 : در مثال دوم یک کوکی دیگر ایجاد کرده ایم ، که برای مدت یک سال اعتبار داشته ، ولی فقط در دامنه www.Hassas-Computer.com اعتبار دارد :
Example |
< ? php $ expire = time( ) + 60 * 60 * 24 * 30 ; setcookie ( " info2 ", " Developer ", $expire , 'www.hassas-computer.com' ) ; ? > |
منبع: developer1