کوکی ( cookie ) یک قطعه اطلاعات است که سرور بر روی کامپیوتر کاربر ذخیره کرده و در مراجعات کاربر به همان سایت ، از آن اطلاعات برای شناسایی استفاده می کند. این اطلاعات معمولا راجع به شناسه کاربری ، رمز عبور ، تنظیمات یک کاربر بر روی سایت و … می باشد . زمانی که کاربر به وسیله کامپیوتر خود همان سایت را باز می کند ، مرورگر اطلاعات کوکی ها را به سرور ارسال می کند. با استفاده از کوکی می توانید برای بازیابی اطلاعات کاربری و یا سایر تنظیماتی که کاربر در یک سایت ایجاد کرده است ، در مراجعات بعدی به همان سایت استفاده کنید.
حتما بخوانید: خواندن و حذف کوکی (Cookie) در PHP
برای مثال فرض کنید که در یک سایت فروم عضو شده و یک رمز عبور و شناسه کاربری را برای خود تعیین کرده اید. هنگامی که برای اولین بار اطلاعات کاربری خود را در مرورگر وارد می کنید ، این اطلاعات در یک کوکی بر روی مرورگر کامپیوتر شما ذخیره می شود. هنگامی که در مراجعه بعدی به همان سایت می روید ، متوجه می شوید که مرورگر اطلاعات کاربری شما را وارد نموده و شما log in شده اید، بدون اینکه خودتان کاری انجام داده باشید . در واقع مرورگر از کوکی برای ایجاد ، ذخیره و ارسال مجدد این اطلاعات به سرور استفاده کرده است .
مرورگر ها معمولا برای ایجاد و دخیره کوکی ها از کاربر سوال کرده و یا گزینه ای را جهت ایجاد آن قرار می دهند. پس از تایید کاربر اقدام به ایجاد و ذخیره (cookie) می نمایند . توسط زبان PHP شما به راحتی می توانید کوکی های خود را ایجاد کرده و مجددا آنها را دریافت و ارسال نمایید. در این بخش قصد داریم تا شما را با نحوه ایجاد و خواندن آن ها در زیان PHP آشنا نماییم.
استفاده از کوکی ( cookie ) در PHP:
از تابع ( ) setcookie برای ایجاد و ذخیره یک کوکی در زبان PHP استفاده می شود . برای ایجاد آن تعیین چند چیز مهم است:
- نام
- مقدار
- مدت زمان اعتبار *
* نکته : توجه داشته باشید که کوکی ها پس از یک مدت زمان تعیین شده ، اعتبار خود را از دست می دهند و باید دوباره فراخوانی شوند . در این حالت می گوییم ، کوکی expire شده است .
برای مثال فرض کنید در یک سایت login کرده اید. سپس کامپیوتر و مرورگر خود را برای مدتی رها می کنید (مرورگر و صفحه جاری را نمی بندید ) . پس از مراجعه دوباره متوجه می شوید، که مرورگر شما را logout کرده است و دوباره باید وارد شوید. دلیل این مسئله پایان یافتن مدت زمان اعتبار یک کوکی است .
حتما بخوانید: مفهوم و کاربرد Session در PHP
شکل کلی تعریف و ایجاد یک کوکی به وسیله تابع ( ) set cookie در PHP به صورت زیر است :
Syntax | < ? php setcookie ( name , value , expire , path , domain ) ; ? > |
syntax توضیح هر یک از موارد | |
توضیح | پارامتر |
پارامتر name تعیین کننده نام کوکی است که از این نام برای بازیابی و فراخوانی در سطح برنامه استفاده می شود . | name |
پارامتر value مقدار کوکی را تعیین می کند .این مقدار بر روی کامپیوتر ذخیره می شود . | value |
پارامتر expire تعیین کننده مدت زمان اعتبار کوکی ، بر حسب ثانیه است . پس از اتمام این مدت زمان از بین خواهد رفت . برای تعیین مدت زمان اعتبار کوکی ، معمولا از تابع ( ) time استفاده می شود . |
expire |
این پارامتر تعیین کننده مسیری بر روی سرور سایت است که کوکی در آن ، قابل دریافت و ذخیره است . برای مثال اگر مقدار آن برابر با ‘/’ تعیین شود ، در تمام سایت قابل دسترسی است . اما اگر روی مقدار /en/’ تنظیم شود ، فقط در دایرکتوری en در سایت قابل دسترسی است . تعیین این پارامتر اختیاری است . |
path |
پارامتر domain ، دامنه ای که کوکی بر روی آن قابل دسترس است را تعیین می کند . برای مثال اگر مقدار آن ‘www.DeveloperStudio.ir’ تنظیم شود ، فقط در این دامنه قابل دسترسی است . تعیین این پارامتر اختیاری است . |
domain |
مثال های عملی :
در مثال های زیر نحوه ایجاد چند (cookie) را با پارامترهای مختلف به شما نمایش داده ایم :
مثال 1 :در مثال زیر یک کوکی به نام info با مقدار Mehrdad را ایجاد کرده ایم ، که برای مدت یک ساعت ( 3600 ثانیه ) اعتبار دارد . به کد مثال دقت نمایید :
Example | < ? php setcookie ( ” info “, ” Mehrdad “, time( )+3600 ) ; ? > |
مثال 2 : در مثال دوم یک کوکی دیگر ایجاد کرده ایم ، که برای مدت یک سال اعتبار داشته ، ولی فقط در دامنه www.DeveloperStudio.ir اعتبار دارد :
Example | < ? php $ expire = time( ) + 60 * 60 * 24 * 30 ; setcookie ( ” info2 “, ” Developer “, $expire , ‘www.developerstudio.ir’ ) ; ? > |
با دریافت « مشاوره برنامهنویسی، وب و سئو » از کارشناسان جوان حرفهای و باتجربه ساکوراد؛ موفقیت کسب و کار، رونق فروش و افزایش درآمد خود را تضمین کنید!
و اما کلام آخر…
با رعایت این نکات و استفاده از توابع فوق، میتوانید به راحتی از کوکیها در PHP استفاده کنید و اطلاعات مورد نیاز خود را ذخیره و مدیریت نمایید.