عضویت در سایت

ورود

فراموشی رمز عبور

رمز عبور خود را فراموش کرده اید؟ ایمیل خود را وارد کنید

ورود

عضویت در سایت

رایگان ثبت نام کنید و سوالات خود را بپرسید، همچنین میتوانید در پاسخگویی به سوالات دیگر کاربران نیز سهیم باشید، هر مشکلی در ثبت نام یا ورود داشتید با ایمیل beporsam@gmail.com در ارتباط باشید

در بین 1171 آموزش و 2026 پرسش به دنبال چه هستید؟

ویندوز
نصب آنلاین ویندوز

ویندوز 7,8,10,11
مشاوره
مشاوره خرید لپ تاپ و کامپیوتر

مشاوره حرفه ای دریافت کن
بلاگ
مقالات آموزشی

1k+
پشتیبانی آنلاین

سخت افزار/نرم افزار

آموزش پیشرفته PHP – کوکی ها

سلام

با یک آموزش دیگه از سری آموزش های پیشرفته PHP در خدمتتون هستیم، در جلسه ی قبل آپلود فایل را یاد گرفتیم؛ در این جلسه می خواهیم بپردازیم به یک مساله ی جذاب و البته بسیار کاربردی به نام Cookie(کوکی)، در ادامه همراه بپرسم باشید.

کوکی PHP

کوکی PHP

کوکی چیست؟

کوکی شامل یک سری اطلاعات است که به صورت فایل متنی از طرف سرور روی سیستم کاربر ذخیره میشود، وقتی به یک وب سایت مراجعه میکنید و نام کاربری و رمز عبور خود را وارد میکنید، این اطلاعات در یک فایل متنی که همان کوکی است از طرف سرور روی سیستم شما ذخیره میشود، هنگام مراجعه ی بعدی به وب سایت، سرور برای شناسایی شما از کوکی استفاده میکند.

ایجاد کوکی با PHP

برای تعریف یا ایجاد یک کوکی در PHP از تابع ()setcookie به صورت زیر استفاده میکنیم.

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

در تابع ()setcookie فقط پارامتر name ضروری هست و مابقی پارامترها اختیاری هستند.

توضیح پارامترها:

  • name: نام کوکی
  • value: مقدار کوکی(مانند نام کاربری و رمز عبور)
  • expire: مدت زمان انقضا(بر حسب ثانیه)
  • path: مسیری در وب سایت که کوکی در آن معتبر است(برای مثال میتوانید کوکی را فقط در یک مسیر خاصی از وب سایت تعریف کنید)
  • domain: وب سایتی که کوکی برای آن معتبر است
  • secure: این پارامتر تعیین میکند که کوکی در حالت امن و در پروتکل https باشد یا خیر(مقدار true و false میگیرد)
  • httponly: این پاارمتر نیز تعیین میکند که کوکی در پروتکل http باشد یا خیر(مقدار true و false میگیرد)
مطلب پیشنهادی:  8 راه برای اینکه گوشی سامسونگ شما زیباتر به نظر برسد

ایجاد و بازیابی کوکی در PHP

قطعه کد زیر یک کوکی به نام user با مقدار beporsam ایجاد میکند، این کوکی بعد از 30 روز منقضی میشود(تا 30 روز در سیستم کاربر ذخیره میشود)، مقدار / را که به کار بردیم به این معنی است که کوکی در کل وب سایت معتبر است(اگر نخواهیم که در کل وب سایت معتبر باشد، میتوانید دایرکتوری خود را انتخاب کنید).

 <?php
$cookie_name = "user";
$cookie_value = "beporsam";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
?>
<html>
<body>

<?php
if(!isset($_COOKIE[$cookie_name])) {
  echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
  echo "Cookie '" . $cookie_name . "' is set!<br>";
  echo "Value is: " . $_COOKIE[$cookie_name];
}
?>

</body>
</html>

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

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

تعیین زمان کوکی در PHP

در قطعه کد بالا که مثالی از ساخت کوکی زدیم، زمان را اینگونه محاسبه کردیم:

setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day

که 86400 ثانیه برابر با 24 ساعت یا یک روز است، که این یک روز را ضرب در 30 کردیم تا بشود یک ماه.

زمان را به صورت دیگری نیز میتوانیم تعیین کنیم:

setcookie($cookie_name, $cookie_value, time() + 3600, "/"); // 86400 = 1 hour

کوکی بالا یک ساعت فعال است.

setcookie($cookie_name, $cookie_value, time()+ (60*60*24*30 ), "/"); // 1 month

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

زمان کوکی بر حسب ثانیه باید مشخص شود که با توجه به سلیقه ی خودتون می تونید زمان رو مشخص کنید.

تغییر مقدار کوکی در PHP

برای تغییر مقدار یک کوکی، کافیست تا دوباره توسط تابع ()setcookie کوکی را تنظیم کنید:

 <?php
$cookie_name = "user";
$cookie_value = "fadev";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>
<html>
<body>

<?php
if(!isset($_COOKIE[$cookie_name])) {
  echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
  echo "Cookie '" . $cookie_name . "' is set!<br>";
  echo "Value is: " . $_COOKIE[$cookie_name];
}
?>

</body>
</html>

در قطعه کد بالا مقدار کوکی را از beporsam به fadev تغییر دادیم.

مطلب پیشنهادی:  آموزش ساخت اسنک بار در بیسیک فور اندروید

حذف کوکی در PHP

برای حذف کوکی کافیست تا تاریخ انقضای آن را به گذشته تغییر دهیم:

 <?php
setcookie("user", "", time() - 3600);
?>
<html>
<body>

<?php
echo "Cookie 'user' is deleted.";
?>

</body>
</html>

در قطعه کد بالا کوکی user را با دادن تاریخ انقضای گذشته، حذف کردیم.

بررسی فعال بودن کوکی در PHP

توسط قطعه کد زیر می توانیم بررسی کنیم که آیا کوکی فعال است یا خیر. ابتدا یک کوکی توسط تابع ()setcookie میسازیم و سپس توسط تابع count مقدار کوکی را میشماریم:

 <?php
setcookie("test_cookie", "test", time() + 3600, '/');
?>
<html>
<body>

<?php
if(count($_COOKIE) > 0) {
  echo "Cookies are enabled.";
} else {
  echo "Cookies are disabled.";
}
?>

</body>
</html>

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

موفق باشید

درباره احمد آخوندیمدیر سایت

همیشه در تلاش برای یادگیری :) ارتباط با من: 09159352892

دنبال کردن

ارسال نظر

رفتن به بالا

سامانه آموزشی و خدماتی بپرسم

اولین وب سایت آموزشی و پرسش و پاسخ در ایران

بپرسم را میتوان به عنوان مرجعی برای آموزش و حل مشکلات دانست، در بپرسم سعی کرده ایم آموزش های برنامه نویسی، طراحی سایت، کار با نرم افزارها ها و… را آموزش دهیم. همچنین محیطی فراهم کرده ایم تا کاربران بتوانند در این محیط سوالات خود را بپرسند و مشکل خود را حل کنند.