کوکی ها در php

10 / 10
از 1 کاربر

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

کوکی چیست؟

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

ایجاد کوکی ها با پی اچ پی

کوکی با تابع ()setcookie ایجاد می شود. در این ساختار، تنها پارامتر نام مورد نیاز است. تمام پارامترهای دیگر اختیاری هستند.

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

ایجاد / بازیابی کوکی با استفاده از php

در مثال زیر، یک کوکی با نام کاربر (user) با مقدار «John Doe» ایجاد کرده ایم. کوکی پس از 30 روز به پایان می رسد. علامت "/" بدان معنی است که کوکی در سراسر وب سایت در دسترس است (در غیر این صورت، می توانید دایرکتوری مورد نظر خود را انتخاب کنید). پس از آن ما مقدار کوکی "کاربر" را (با استفاده از متغیر جهانی COOKIE_$) بازیابی کردیم. ما همچنین از تابع ()isset برای اطلاع از تنظیم کوکی استفاده کردیم:

<?php
$cookie_name = "user";
$cookie_value = "John Doe";
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 در طراحی سایت آورده شود.

نکته: مقدار کوکی به طور خودکار در هنگام ارسال کوکی، URL رمز گذاری شده است، و به طور خودکار در هنگام دریافت، رمزگشایی می شود (برای جلوگیری از رمزگذاری URL، از ()setrawcookie استفاده کنید).

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

برای تغییر یک کوکی، تنها باید مجددا کوکی را با استفاده از ساختار ()setcookie تنظیم کنید.

حذف یک کوکی

برای حذف یک کوکی، یک تاریخ انقضا قبل از تابع ()setcookie تنظیم کنید.

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

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

</body>
</html>

ارسال نظر و نظرات ثبت شده