سبد (0)

تبلیغات

cookie ها در PHP

Cookie ها در php

Wiki

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

توجه: یک cookie اغلب برای شناسایی یک کاربر استفاده می شود.


 چگونه یک cookie ایجاد کنیم؟

Wiki

 تابع ()setcookie برای ایجاد cookie استفاده می شود.

نکته: تابع ()setcookie باید قبل از تگ <html> قرار گیرد.

نحوه استفاده:

setcookie(name, value, expire, path, domain);

مثال:

در مثال زیر٫ یک cookie با نام "user" ایجاد می کنیم و مقدار "Ali Ahmadi" را به آن اختصاص می دهیم. ما همچنین مشخص می کنیم که cookie پس از یک ساعت از بین برود:

<?php
setcookie("user", "Ali Ahmadi", time()+3600);
?>

<html>
.....

نکته: مقدار cookie به طور خودکار هنگام ارسال کد(URLencoding) می شود و موقع دریافت رمزگشایی می شود (برای پیشگیری از رمزگذاری٫ از ()setrawcookie استفاده کنید.

مثال:

شما می توانید زمان انقضای cookie را به روشی دیگر مشخص کنید، احتمالاً این راه ساده تر از مشخص کردن ثانیه هاست:

<?php
$expire=time()+60*60*24*30;
setcookie("user", "Ali Ahmadi", $expire);
?>

<html>
.....

در مثال بالا زمان انقضا با مقدار "1 ماه" پر شده است( 60sec * 60 min * 24 hours * 30 days)


چگونه مقدار یک cookie را بازیابی کنیم؟

Wiki

 متغیر COOKIE_$  در php برای بازیابی مقدار یک cookie مورد استفاده قرار می گیرد.

مثال:

در مثال زیر٫ مقدار cookie با نام "user" را بازیابی می کنیم و بر روی صفحه، نمایش می دهیم:

<?php
// Print a cookie
echo $_COOKIE["user"];

// A way to view all cookies
print_r($_COOKIE);
?>

در مثال زیر با استفاده از تابع ()isset چک می کنیم که cookie با نام "user" قبلاً set شده است یا نه؟

<html>
<body>

<?php
if (isset($_COOKIE["user"]))
  echo "Welcome " . $_COOKIE["user"] . "!<br />";
else
  echo "Welcome guest!<br />";
?>

</body>
</html>


چگونه یک cookie را حذف کنیم؟

Wiki

 هنگامی که می خواهید یک cookie را حذف کنید باید اطمینان دهید که تاریخ انقضاء آن به پایان رسیده است.

مثال حذف:

<?php
// set the expiration date to one hour ago
setcookie("user", "", time()-3600);
?>


اگر یک مرورگر cookieها را پشتیبانی نکند چه باید کرد؟

Wiki

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

در فرم زیر وقتی که کاربر دکمه ی "submit" را کلیک می کند، ورودی های کاربر را به "welcome.php" می فرستد:

<html>
<body>

<form action="welcome.php" method="post">
   Name: <input type="text" name="name" />
   Age: <input type="text" name="age" />
   <input type="submit" />
</form>

</body>
</html>

بازیابی اطلاعات در صفحه "welcome.php" شبیه زیر خواهد بود:

<html>
<body>

Welcome <?php echo $_POST["name"]; ?>.<br />
You are <?php echo $_POST["age"]; ?> years old.

</body>
</html>

برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHP کلیک کنید.

دیدگاه‌ها  

+1 # mohamad76 1396-01-17 00:14
سلام چرا وقتی [echo $_COOKIE[$cookie_name را استفاده می کنیم مقدار value رانمایش می دهد؟؟؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # امیر پهلوان صادق 1396-01-17 09:43
سلام، برای اینکه از وضعیت کلیه Cookieها مطلع شوید، می توانید از دستور زیر استفاده کنید و متوجه شوید که اشتباه کارتان کجا بوده است:
print_r($_COOKIE);
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # امیرکیان 1394-12-08 18:04
سلام
میشود مسیرفیزیکی ذخیره سازی وفایل کوکی ها را روی سیستم کاربر بگید که کجا ذخیره میشوند و آیا قابل دسترس هستند یا نه ؟
و سوال دیگر، کوکی ها با توجه به زمان سرور ساخته و منقضی میشوند؛درسته؟
اگر ساعت سیستم کاربر با سرور نخواند چه اتفاقی پیش میآید؟
ویه سوال دیگه:
کوکی ها به صورت پیشفرض فکرکنم به دایرکتوری جاری اسکریپت و تمام فرزندان آن مسیر فرستاده میشود موقع لود صفحه؛درست گفتم آیا؟
با کمال سپاس
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # مهرداد صلاحی 1394-12-10 21:06
با سلام.
کوکی‌ها در واقع اطلاعاتی هست که در سمت کلاینت ذخیره میشه و بعضا می‌تونه مورد استفاده‌ی سرورها قرار بگیره. برنامه‌نویسی بر حسب نیاز می‌تونه برخی از تنظیمات رو توسط کوکی انجام بده.
آدرسش رو بر حسب اینکه مرورگرتون چی هست، می‌تونید به دست بیارید. همین مورد رو در گوگل سرچ کنید، راهنمایی‌تون خواهد کرد.
کوکی‌ها هم زمان ساخت و انقضاء دارن.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # hossein007 1394-06-13 14:05
سلام
میخواستم بدونم حداکثر حجم یک cookie چقدره؟؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+4 # شهربانو دوستی 1394-06-13 16:25
باسلام
کوکی‌ها که ذاتاً برای حفظ داده‌های کوچک ساخته شده اند، دارای محدودیت‌هایی نیز هستند. این محدودیت‌ها طبق استاندارد RFC 6265 برای مرورگرها به صورت حداقل تعریف شده اند:

درنظر گرفتن حجم حداقل 4096 بایت (4 کیلوبایت) برای هر کوکی (شامل مجموع کل پارامترها و محتوا)
اجازه دادن حداقل 50 کوکی برای هر دامین
قابلیت ذخیره کردن حداقل 3000 کوکی (ممکن است از دامین‌های مختلف باشد)
در مورد حداکثر حجم یک کوکی، مرورگر های مختلف محدودیت های متفاوتی در نظر گرفته اند:
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # amirkian 1394-05-25 15:06
آموزش Cookieها در PHP عالی بود.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+4 # مهدی ربانی 1394-02-24 14:16
1- cookie زمان رو از سرور میگیره دیگه؟ منظورم اینه که اگه زمان رایانه اش رو دستکاری کنه که نمی تونه به cookie حذف شده دسترسی داشته باشه؟
2- اگه بعد از حذف cookie (عقب بردن زمان کوکی) ، زمان سرور به عقب برگرده (عمدی یا سهوی) چه اتفاقی می افته؟ cookie کار می کنه؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+5 # Germany 1393-12-02 14:48
یعنی اگه بخوایم از کوکی استفاده بکنیم دیگه نیمخوا از متغییرهای post و get استفاده کنیم؟؟؟؟؟؟؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # امیر پهلوان صادق 1393-12-03 08:04
هر کدام کاربردهای خودشان را دارند ...!
زمانی که cookieها روی کامپیوتر کاربر ایجاد می شوند، تا زمانی که زمان انقضای آن نرسیده باشد، مقدار آن در تمام صفحات سایت قابل دستیابی است، اما برای متغییر های GET و POST اینطور نیست.
یک مثال واضح برای کوکی ها، صفحه "ورود کاربران" است. تصور کنید زمانی که کاربر لاگین می کند، می توانید "آی دی" یا "نام کاربری" آنرا درون یک کوکی ذخیره کنید و مثلاً در صفحه ی "دیدگاه ها" از مقدار آن در فیلد "ثبت کننده دیدگاه" استفاده کنید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن

آموزش صوتی PHP

بستن
مدرس:
سوال و جواب:

ابزاری که در پیش روی دارید یکی از ابزارهای بسیار کاربردی سایت بیاموز در زمینه آموزش است، این ابزار برای سهولت یادگیری شما کاربران محترم طراحی شده است.

فقط کافی است روی عنوان پاراگراف مورد نظرتان کلیک کنید تا پخش صدا آغاز شود ...!

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه پرداخت آنلاین - بانک اقتصاد نوین پرداخت آنلاین - بانک سامان
 
دوره های آموزشی راه اندازی کسب و کارهای اینترنتی
تبلیغات اینترنتی