آیا تا به حال فکر کردهاید که وبسایتها چگونه اطلاعات مربوط به شما را حتی پس از بستن مرورگر نیز به خاطر میسپارند. این مورد به لطف وجود فایل کوچکی در مرورگر به نام کوکی امکانپذیر شده است. Cookie در PHP مفهومی بسیار کاربردی است که به منظور حفظ وضعیت و ذخیره اطلاعات کاربران در بازدید آنها از صفحات مختلف وبسایت مورد استفاده قرار میگیرد. کوکیها دادههای کاربران را در مرورگر ذخیره میکنند و در نقطه مقابل به سایتها امکان میدهند تا این دادهها را دریافت کنند. بر همین اساس در این مطلب از مجله فرادرس کار با Cookie در PHP آموزش داده شده است.

در این مطلب مفهوم کوکی در PHP، نحوه کار آن و چگونگی استفاده از آن در برنامهنویسی وب مورد بررسی قرار گرفته است. با مطالعه این مطلب توانایی ایجاد، مقداردهی، تنظیم و حذف Cookie در PHP را به دست خواهید آورد.
کوکی چیست؟
«کوکی» (Cookie) یک فایل متنی کوچک است که در مرورگر کاربر ذخیره میشود. در واقع، از این فایل به منظور شناسایی کاربر استفاده میشود. توسعهدهندگان وب از کوکیها به منظور ذخیره اطلاعات کاربران استفاده میکنند و در زمان نیاز این اطلاعات را بازیابی میکنند. از جمله رایجترین موارد استفاده از کوکیها به موارد زیر میتوان اشاره کرد.
- ذخیره وضعیت ورود کاربر به حساب کاربری
- تنظیمات مربوط به زبان
- اطلاعات سبد خرید
- ردیابی فعالیتهای کاربر به منظور تحلیل عملکرد
به محض ایجاد و تنظیم کوکی، دادههای مورد نظر در مرورگر کاربر ذخیره میشوند و با درخواستهای بعدی توسط سرور ارسال میشوند. برای کار با Cookie در PHP باید از تابعsetcookie() استفاده کرد که در ادامه به طور کامل نحوه کار با این تابع را مورد بررسی قرار خواهیم داد.
مثال عملی از کاربرد Cookie در PHP
به احتمال زیاد برای شما پیش آمده است که به سایتی مراجعه و اطلاعات کاربری خود نظیر ایمیل و کلمه عبور را برای ورود به حساب کاربری در این سایت وارد کرده باشید. سپس، بعد از گذشت چند روز در بازدید مجدد از این سایت دیگر نیازی به وارد کردن اطلاعات کاربری نیست و احراز هویت شما به صورت خودکار توسط سایت انجام میشود. در پس زمینه این فرایند کوکیها قرار دارند و این مورد به لطف وجود Cookieها در PHP امکانپذیر شده است.
به عنوان نمونه عملی دیگری میتوان به اطلاعات موجود در سبد خرید فروشگاههای اینترنتی اشاره کرد. بعد از انتخاب چند محصول و انتقال آنها به سبد خرید ممکن است به هر دلیلی از خرید صرف نظر کنید. سپس، بعد از چند روز در بازدید مجدد از فروشگاه اینترنتی میتوانید اقلام قبلی موجود در سبد خرید خود را مشاهده کنید.
مورد دیگر از قابلیتهای کار با Cookie در PHP که شاید نسبت به موارد دیگر بسیار جذابتر باشد، استفاده از آن به منظور نمایش تبلیغات هدفمند است. در واقع، سایتهای ارائه دهنده تبلیغات اینترنتی با استفاده از سابقه اطلاعات مرورگر کاربر سعی میکنند تا تبلیغاتی متناسب با نیاز و سلیقه کاربر را به او نشان دهند. به احتمال زیاد برای شما این اتفاق رخ داده است که محصولی را جستجو کرده یا به دنبال اطلاعاتی در خصوص آن بودهاید و سپس، در روزهای بعدی با مراجعه به سایتهای دیگر تبلیغات مربوط به همان محصول به شما نشان داده است. این مورد نیز به لطف وجود Cookie در PHP امکانپذیر شده است.

ایجاد Cookie در PHP
نخستین گام در کار با Cookie در PHP ایجاد آن است. برای ساخت کوکی در PHP باید از تابعsetcookie() استفاده کرد. بلافاصله بعد از ایجاد کوکی اطلاعات در مرورگر کاربر ذخیره میشوند و توسط مرورگر این اطلاعات به سرور ارسال میشوند. در ادامه سینتکس پیادهسازی کوکی در PHP آورده شده است.
با توجه به قطعه کد بالا تابعsetcookie() به عنوان ورودی ۶ آرگومان را دریافت میکند که از این تعداد تنها قرار دادن پارامترname ضروری است و سایر پارامترها اختیاری هستند. در ادامه هر کدام از آرگومانهای ورودی این تابع بررسی شدهاند.
- name: این پارامتر نام کوکی را مشخص میکند.
- value: با استفاده از این پارامتر میتوان مقدار کوکی را تنظیم کرد.
- expire: از این پارامتر برای تعیین تاریخ انقضا کوکی استفاده میشود. در واقع، بعد از این تاریخ کوکی قابل دسترس نخواهد بود.
- path: مسیری در وبسایت را نشان میدهد که کوکی برای آن در دسترس است. برای معتبر بودن کوکی در تمام سایت باید از علامت/ استفاده کرد یا این پارامتر را تعریف نکرد.
- domain: این پارامتر دامنه وبسایتی را مشخص میکند که کوکی برای آن معتبر است. در صورت عدم تعریف این پارامتر دامنه سایت فعلی برای کوکی در نظر گرفته میشود.
- security: مقادیر مجاز برای این پارامتر تنها اعداد ۰ و ۱ هستند. در صورت قرار دادن مقدار ۱ برای این پارامتر کوکیها تنها از طریق پروتکل امن HTTPS برای سایت ارسال میشوند.
Cookie در PHP چگونه کار می کند؟
کار با Cookie در PHP دستورالعمل مشخصی دارد. تعریف و استفاده از کوکیها در PHP را میتوان در قالب مراحل زیر خلاصه کرد.
- تنظیم کوکی
- خواندن کوکی
- انقضای کوکی
- ارسال کوکی به مرورگر
در ادامه به بررسی هر کدام از موارد ارائه شده در بالا خواهیم پرداخت.

تنظیم کوکی
با استفاده از تابعsetcookie() در PHP میتوان کوکی جدیدی را ایجاد کرد. ذخیره دادههای کوکی در مرورگر کاربر صورت میگیرد و این دادهها همراه با درخواستهای HTTP به سرور ارسال میشوند. به این نکته نیز باید اشاره کرد که هیچ گونه محدودیتی در تعریف کوکیها وجود ندارد.
خواندن کوکی
بعد از تنظیم کوکی با استفاده از آرایه سراسری$_COOKIE در PHP میتوان به اطلاعات موجود در آن دسترسی پیدا کرد. در واقع با استفاده از این آرایه میتوان مقادیر کوکیهای ذخیره شده در مرورگر کاربر را بازیابی کرد.
انقضای کوکی
در زمان ایجاد کوکی با تعیین پارامترexpire میتوان تاریخ انقضا کوکی را مشخص کرد. با تنظیم این پارامتر کوکی ایجاد شده بعد از مدت مشخصی منقضی و حذف خواهد شد. کوکیها بعد از منقضی شدن به صورت خودکار توسط مرورگر حذف خواهند شد. روش دیگر برای حذف کوکیها فراخوانی آنها با تاریخ انقضای گذشته است که موجب حذف آنها میشود.
ارسال کوکی به مرورگر
کوکیها در قالب هدرهای درخواست HTTP به مرورگر ارسال میشوند. با توجه به این که هدرهای HTTP قبل از هرگونه محتوایی به مرورگر ارسال میشوند، بنابراین تابعsetcookie() باید قبل از ارسال خروجی به مرورگر فراخوانی شود.
چگونه کار با Cookie در PHP را یاد بگیریم؟
کوکیها در PHP با وجود سادگی نقش بسیار مهمی در بهبود تجربه کاربری دارند. این فایلهای متنی کوچک بر روی مرورگر کاربر قرار میگیرند و میتوانند میتوانند طیف وسیعی از اطلاعات مربوط به کاربر را در خود ذخیره کنند. برای یادگیری Cookieها در نخستین گام باید مفهوم، هدف و محدودیتهای آن را درک کنید. به عنوان مثال، اطلاعات حساس و مهمی همچون کلمه عبور را نباید به طور مستقیم و بدون استفاده از الگوریتمهای رمزنگاری در کوکیها ذخیره کرد.
بعد از آشنایی اولیه با کوکی باید بتوانید کوکیهای جدیدی را تنظیم کنید. سپس، نیاز است تا با نحوه دریافت اطلاعات از کوکی آشنا شوید و در صورت نیاز بتوانید این اطلاعات را تغییر دهید. در گام بعدی باید روشهای حذف Cookie را یاد بگیرید و بتوانید کوکیها را حذف کنید. به عنوان گام نهایی در مسیر یادگیری مفهوم کوکی باید با ملاحظات امنیتی مربوط به Cookieها آشنا شوید.

برای شروع یادگیری در این زمینه میتوانید از فیلمهای آموزش پروژه محور موجود در سایت فرادرس استفاده کنید. آموزشهای پروژه محور PHP در مجموعه فیلمهای آموزش برنامه نویسی PHP فرادرس قابل دسترسی هستند که لینک مربوط به آن در ادامه آورده شده است.
اگر در شروع مسیر یادگیری PHP هستید و تسلط کافی بر مباحث این زبان برنامه نویسی را ندارید، پیشنهاد میشود که برای شروع فیلم آموزش برنامه نویسی PHP فرادرس را مشاهده کنید که لینک آن در ادامه آورده شده است.
در این آموزش در کنار بررسی سایر مفاهیم موجود در زبان PHP به طور کامل مفهوم کوکی و مدیریت آن در PHP مورد بررسی قرار است. در ادامه تعدادی از فیلمهای آموزشی پیشنهادی در این مجموعه آورده شده است.
آموزش کار با Cookie در PHP
بعد از آشنایی با کوکیها در PHP و کاربردهای مختلف آنها در این بخش از نوشته به صورت عملی و گامبهگام نحوه تعریف، دسترسی، فراخوانی و حذف کوکیها در PHP آموزش داده خواهد شد.
ساخت Cookie در PHP
قدم نخست برای کار با Cookie در PHP ایجاد آن است. به منظور ایجاد Cookie در PHP باید از تابعsetcookie() استفاده کرد. قطعه کد زیر نحوه ساخت کوکی در PHP را نشان میدهد.
در مثال بالا کوکی با نامAuction_Item ایجاد شده است و مقدارLuxury Car نیز به این کوکی اختصاص پیدا کرده است. زمان انقضای این کوکی نیز ۲ روز در نظر گرفته شده است. نکته مهم در خصوص زمان انقضای کوکی این است که این مقدار برحسب ثانیه محاسبه میشود. در نهایت خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.
cookie is created Note: You might have to reload the page to see the value of the cookie.
برای مشاهده مقدار ذخیره شده در کوکی باید صفحه مجدد بارگذاری شود، زیرا دادههای Cookie پس از بهروزرسانی صفحه در دسترس هستند.
چگونه تنظیم شدن Cookie در PHP را بررسی کنیم؟
همواره پیش از شروع کار با Cookie در PHP باید از تنظیم شدن مقدار برای آن اطمینان حاصل کرد. در واقع، به منظور پیشگیری از بروز خطا باید قبل از دسترسی به مقدار کوکی از تنظیم شدن آن اطمینان حاصل کرد. برای بررسی تنظیم شدن کوکی باید از تابعisset() در PHP استفاده کرد. پیشتر در مطلب زیر از مجله فرادرس تابع ISSET در PHP به زبان ساده همراه با مثال و نمونه کد مورد بررسی قرار گرفته است.
قطعه کد زیر تنظیم شدن کوکی در PHP را بررسی میکند.
در مثال بالا با استفاده از ساختار شرطی IF در PHP و تابعisset بررسی شده است که آیا کوکی با نام“Auction_Item” از قبل تنظیم شده است یا خیر. بر همین اساس، در صورت وجود داشتن کوکی با این نام عبارت“Auction Item is a Luxury Car” در خروجی نمایش داده میشود. همچنین، در صورت عدم وجود کوکی عبارت“No items for auction.” در خروجی چاپ میشود. تصویر زیر خروجی حاصل از اجرای قطعه کد بالا را نشان میدهد.

به این نکته باید دقت کرد که بعد از ایجاد کوکی دسترسی به مقدار آن با بارگذاری مجدد صفحه امکانپذیر است که این مورد در تصویر بالا به خوبی نشان داده شده است.
چگونه میتوان به مقدار Cookie در PHP دسترسی پیدا کرد؟
یکی دیگر از موارد مهم در کار با Cookie در PHP دسترسی به مقادیر کوکیهای ذخیره شده است. به منظور دسترسی به مقدار کوکی باید از متغیر سراسری$_COOKIE در PHP استفاده کرد. این متغیر یک آرایه انجمنی است که تمام مقادیر کوکیهای ارسال شده توسط مرورگر را شامل میشود. رکوردها در این آرایه به صورت زوج مرتبهای کلید و مقدار ذخیره میشوند که نام کوکی به عنوان کلید مورد استفاده قرار میگیرد. قطعه کد زیر نحوه دسترسی به مقدار کوکی را نشان میدهد.
در مثال بالا نام کوکی یعنیAuction_Item به عنوان کلید به آرایه سراسری$_COOKIE داده شده است که خروجی قطعه کد بالا در نهایت به صورت زیر خواهد بود.
Auction Item is a Luxury Car Note: You might have to reload the page to see the value of the cookie.
به این نکته نیز باید توجه کرد کرد که در اولین بارگذاری صفحه کوکی تنظیم میشود ولی هنوز به سرور ارسال نشده است. بنابراین، تلاش برای دسترسی به مقدار کوکی بلافاصله پس از تنظیم آن منجر به اعلام مقدار نامشخص خواهد شد.
چگونه مقدار Cookie در PHP را تغییر دهیم؟
برای تغییر مقدار کوکی در PHP کافی است تا با استفاده از تابعsetcookie() مجدداً کوکی را مقداردهی کنید. قطعه کد زیر نحوه مقداردهی کوکی در PHP را نشان میدهد.
در مثال بالا متغیرهای$cookie_name و$cookie_value به ترتیب به نام و مقدار کوکی اشاره دارند و با تغییر آنها میتوان کوکی را تغییر داد.
حذف کوکی در PHP
تابع جداگانهای برای حذف کوکی در PHP تعریف نشده است. برای حذف کوکی در PHP میتوان از همان تابعsetcookie() استفاده کرد. در واقع با تغییر پارامترهای این تابع میتوان کوکیها را حذف کرد. توسعهدهندگان PHP از دو روش زیر برای حذف کوکی استفاده میکنند.
- روش اول: با تغییر و جایگزینی مقدار فعلی کوکی به یک مقدار نامعتبر یا خالی میتوان آن را حذف کرد.
- روش دوم: زمان انقضای کوکی را تاریخی در گذشته قرار داد. در نتیجه این امر کوکی بلافاصله پس از تغییر حذف خواهد شد.

قطعه کد زیر نحوه حذف کوکی در PHP با تغییر تاریخ انقضا را نشان میدهد.
در مثال بالا برای حذف کوکی با نام“Auction_Item” زمان انقضای آن یک دقیقه قبل تعیین شده است. همچنین، مقدار خالی نیز برای مقدار کوکی در نظر گرفته شده است. خروجی حاصل از اجرای قطعه کد بالا به صورت زیر خواهد بود.
cookie is deleted Note: You might have to reload the page to see the value of the cookie.
در این مثال به صورت همزمان از هر دو روش برای حذف کوکی استفاده شده است. همچنین به این نکته باید اشاره کرد که برای دیدن کوکی حذف شده باید صفحه را مجدد بارگذاری کرد تا تغییرات ذخیره شوند.
کاربردهای Cookie در PHP چیست؟
همان طور که پیشتر نیز عنوان شد، کوکیها فایلهای متنی کوچکی هستند که برای ذخیره اطلاعات بر روی مرورگر کاربر مورد استفاده قرار میگیرند. کوکیها در PHP به منظور پیادهسازی سناریوهای مختلفی در برنامه مورد استفاده قرار میگیرند. بنابراین، توانایی کار با Cookie در PHP برای توسعهدهندگان این زبان ضروری است. برای یادگیری عملی کاربردهای کوکی در برنامه نویسی وب پیشنهاد میشود که فیلم آموزش پروژه محور پیادهسازی انواع لاگین و ثبتنام با PHP و MySQL فرادرس را مشاهده کنید که لینک آن در ادامه آورده شده است.
از جمله رایجترین کاربردهای کوکی در PHP به موارد زیر میتوان اشاره کرد.
- احراز هویت کاربران
- انجام تنظیمات
- سبد خرید
- ردیابی و تجزیه و تحلیل اطلاعات
برای درک بهتر کاربردهای ارائه شده در بالا به مثالهای زیر توجه کنید.

احراز هویت کاربران
از کوکیها میتوان به منظور نگهداشتن وضعیت ورود کاربران به سیستم استفاده کرد. به عنوان مثال، بعد از ورود کاربر به سیستم میتوان یک شناسه session یا توکن را در کوکی ذخیره کرد. سپس، در بازدیدهای بعدی از وبسایت سرور میتواند اطلاعات موجود در کوکی را بررسی کرده و کاربر را به صورت خودکار در سیستم وارد کند.
در قطعه کد بالا اطلاعات ورود کاربر در کوکی ذخیره میشود و پس از یک ساعت این اطلاعات منقضی خواهد شد.
ذخیره تنظیمات
یکی دیگر از کاربردهای کوکی در PHP ذخیره تنظیمات سفارشی کاربر نظیر تنظیمات زبان، تنظیمات قالب یا طرحبندی صفحه است. با استفاده از کوکیها میتوان به سادگی این تنظیمات را ذخیرهسازی کرد.
در قطعه کد بالا تنظیمات قالب سایت در کوکی ذخیره شده است و بعد از یک ساعت این تنظیمات منقضی خواهد شد.
سبد خرید
یکی از موارد اصلی کار با Cookie در PHP ذخیره محتویات سبد خرید کاربران در فروشگاههای اینترنتی است. کوکیها به کاربران اجازه میدهند تا پس از ترک وبسایت و بازگشت مجدد به آن به خرید خود ادامه دهند.
در قطعه کد بالا اطلاعات سبد خرید کاربر در کوکی با نامcart ذخیره شده است و بعد از گذشت یک ساعت این کوکی منقضی خواهد شد.
ردیابی و تجزیه و تحلیل اطلاعات
از کوکیها برای ردیابی و بررسی رفتار کاربر در وبسایت نیز استفاده میشود. از اطلاعات ذخیره شده در کوکیها برای تجزیه و تحلیل یا ارائه محتوا شخصیسازی شده بر اساس تعاملات گذشته کاربر میتوان استفاده کرد. به عنوان مثال، بسیاری از پلتفرمهای اینترنتی فعال در حوزه تبلیغات از اطلاعات ذخیره شده در کوکیها برای ارائه پیشنهادات شخصیسازی شده به کاربران استفاده میکنند.
در قطعه کد بالا تعداد دفعات بازدید کاربر از سایت در کوکی با نامvisit_count ذخیره میشود و پس از گذشت یک ساعت این کوکی منقضی خواهد شد.
یادگیری طراحی و برنامه نویسی سایت با فرادرس
طراحی سایت یکی از حوزههای جذاب و پرطرفدار برنامه نویسی است که علاقهمندان بسیاری نیز دارد. امروزه با توجه به دیجیتالی شدن فرایندهای مختلف داشتن سایت به یکی از الزامات هر کسب و کاری تبدیل شده است. بر همین اساس با توجه به افزایش تقاضا در این حوزه فرصتهای شغلی متعددی نیز برای برنامهنویسان وب و طراحان سایت پدید آمده است. در فرایند طراحی و برنامه نویسی یک سایت توسعهدهندگان از ابزارها و فناوریهای متعددی استفاده میکنند. بنابراین، پیش از ورود به دنیای طراحی سایت باید آشنایی کامل با این ابزارها داشته باشید.
اگر به حوزه طراحی سایت علاقهمند هستید و قصد ادامه مسیر شغلی خود در این زمینه را دارید، پیشنهاد میشود که از فیلمهای آموزشی موجود در سایت فرادرس استفاده کنید. فیلمهای مرتبط با این حوزه در مجموعه فیلمهای آموزش طراحی و برنامه نویسی سایت فرادرس قابل دسترسی هستند که لینک آن در ادامه آورده شده است.
این مجموعه فیلمهای آموزشی متعددی در سطوح مختلف از مقدماتی تا پیشرفته را شامل میشود که در ادامه تعدادی از دورههای پیشنهادی در این مجموعه آورده شده است.

جمعبندی
کوکیها با وجود حجم کم و سادگی به توسعهدهندگان امکان میدهند تا عملکردهای پیچیدهای را توسعه دهند و موجب بهبود تجربه کاربری شوند. با توجه به کاربردهای متعدد کوکیها در برنامه نویسی وب توانایی کار با Cookie در PHP برای هر توسعهدهندهای ضروری است. در این مطلب از مجله فرادرس اصول اولیه کار با کوکیها آموزش داده شد. بنابراین، اکنون میتوانید کوکیها را تنظیم، بازیابی و حذف کنید. نکته مهمی که در خصوص کار با کوکیها باید به خاطر داشته باشید این است که همواره حفظ حریم خصوصی و امنیت کاربران را در اولویت اصلی خود قرار دهید. برای یادگیری بیشتر در خصوص کوکیها پیشنهاد میشود که فیلم آموزش رایگان کوکی چیست فرادرس را مشاهده کنید که لینک آن در ادامه آورده شده است.
علاوه بر این به منظور افزایش توانایی خود در زمینه کار با Cookie در PHP میتوانید مثالهای عملی از کاربرد کوکی برای حفظ اطلاعات سبد خرید، ردیابی کاربر و ذخیره وضعیت ورود کاربر به حساب کاربری را پیادهسازی کنید.
source