تبلیغات
Bcode.ir - آموزش استفاده کوکی cookie در php

آموزش استفاده کوکی cookie در php

نویسنده :
تاریخ:جمعه 7 فروردین 1394-04:45 ب.ظ

set cookie کوکی php

cookie چیست؟
کوکی ها معمولا برای شناسایی یک کاربر مورد استفاده قرار می گیرند. در واقع یک کوکی فایل کوچکی که سرویس دهنده آن را در کامپیوتر کاربر یا سرویس گیرنده قرار می دهد.هر گاه که کامپیوتر کاربر برای باز شدن یک صفحه تلاش می کند، در واقع همراه آن کوکی ها هم ارسال می شوند. به عنوان مثال کوکی ها در مورد زیر کاربرد های مهمی دارند.

برای ذخیره و نگهداری نام کاربری و رمز عبور  تا کاربر مجبور نباشد، هر بار که وارد سایت می شود log in کند. در این مورد هر گاه مرورگر عبارت “remember me” را سوال کرد و بعد از تایید کاربر، کوکی در کامپیوتر کاربر ذخیره خواهد شد. به وسیله php می توان اقدام به ایجاد و بازیابی مقادیر کوکی ها نمود.
نحوه ایجاد کوکی در php
به وسیله تابع setcookie می توانیم یک کوکی ایجاد کنیم.


همان طور که مشاهده می کنید این تابع دارای ۵ آرگومان است:
name$ : نام کوکی را مشخص می کند.
value$ : مقدار کوکی را تعیین می کند.
expire$ : زمان انقضا کوکی را مشخص می کند به عنوان مثال عبارت time()+”3600″ به این معنا است که کوکی بعد از مدت یک ساعت منقضی می شود.
path$ : مکان دسترسی کوکی را معرفی می کند. به عنوان مثال اگر ما از عبارت “/” به جای  آن استفاده کنیم کوکی در تمام بخش های سایت قابل دسترس خواهد بود. ولی اگر مثلا از عبارت “/news/” استفاده کنیم، کوکی فقط در زیر شاخه news و تمام زیرمجموعه هایش در دسترس خواهد بود. اگر هم هیچ مقداری به آن نسبت داده نشود، کوکی در دایرکتوری جاری ایجاد خواهد شد.
domain$ : عملکردش همانند $path است و نام دامنه مورد نظر برای اعمال کوکی را مشخص می کند به عنوان مثال استفاده از “www.bcode.ir” کوکی را در این آدرس و تمام زیر مجموعه های سایت در دسترس قرار خواهد داد.
secure$ : اگر کوکی در یک سرور امن “https” تنظیم شود مقدار true و در غیر این صورت مقدار false را برمی گرداند. مقدار پیش فرض ان false می باشد.
البته در بین این آرگومان ها سه آرگومان اول از اهمیت و کاربرد بیشتری برخوردارند و سه آرگومان دیگر به ندرت مورد استفاده قرار می گیرند.

مثال: ایجاد یک کوکی (cookie) با استفاده از تابع setcookie

کد های زیر را در نظر بگیرید:


در این مثال کوکی username با عبارت bcode مقدار دهی شده است و زمان انقضای آن هم ۱ ساعت (۳۶۰۰ ثانیه) در نظر گرفته شده است. توجه کنید که تابع time زمان کنونی را نشان می دهد. پیشنهاد می کنیم حتما کد های بالا را به طور عملی تجربه کنید و نحوه عملکرد این کد ها را مورد بررسی قرار دهید.
کد های زیر را در نظر بگیرید:


همان طور که مشاهده می کنید این کوکی به سادگی و با استفاده از عملگرهای ریاضی برای مدت ۱ سال تنظیم شده است.

بازیابی یک کوکی


اطلاعاتی که قبلا به عنوان کوکی ذخیره شده اند با استفاده از آرایه از پیش تعریف شده COOKIE_$ قابل بازیابی هستند.
کد های زیر مقدار کوکی username (که در مثال بالا بررسی کردیم) را بر می گرداند:


خروجی به  این صورت  است:                      bcode


برای این که تمامی عناصر آرایه COOKIE_$ نمایش داده شود می توانید از الگوی زیر استفاده کنید:


در این صورت خروجی به صورت زیر خواهد بود:


در عبارات پایین نیز از تابع isset برای فهمیدن این موضوع که آیا کوکی مورد نظر وجود دارد یا نه، استفاده کرده ایم.


اهمیت تابع isset زمانی مشخص می شود که کوکی به دلایل گوناگون حذف گردد، با این تابع ابتدا تعیین می شود که آیا کوکی وجود دارد یا خیر، در این مثال اگر کوکی username وجود داشته باشد، کاربر راشناسایی کرده و پیام مربوطه را نمایش می دهد، در غیر این صورت عبارت Welcome guest نشان داده خواهد شد.


حذف یک کوکی
برای حذف کوکی ها هم می توان از تابع setcookie استفاده کرد، مثلا عبارت زیر کوکی username را که قبلا ایجاد کرده بودیم حذف می کند:


در عبارت بالا همان طور که مشاهده می کنید، مدت زمان را به گذشته نسبت داده ایم، این کار باعث حذف کوکی username می شود.




تلگرام

دسته بندی : php 

برچسب ها:

نظرات() 
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر
نظرات پس از تایید نشان داده خواهند شد.