کوکی‌ها

از ویکی‌کد
پرش به ناوبری پرش به جستجو
Main Page Tutorial
Php-menu.png
موارد آموزشی
فرم‌ها در PHP
PHP پیشرفته
۱تاریخ و زمان
۲دستور Include
۳مدیریت فایل
۴باز کردن/خواندن فایل
۵ساختن/نوشتن فایل
۶آپلود فایل
۷کوکی‌ها
۸Sessions
۹فیلترها
۱۰فیلترهای پیشرفته
۱۱JSON در PHP
شیء گرایی در PHP
پایگاه داده MySQL
XML در PHP
AJAX در PHP
مثال‌های PHP
مرجع PHP


یک کوکی چیست؟

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

ساخت کوکی ها با PHP

یک کوکی به وسیله تابع setcookie() ساخته می‌شود.

شیوه نوشتار

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

تنها پارامتر name اجباری است. تمامی پارامترها اختیاری هستند.

ساخت/بازیابی یک کوکی در PHP

مثال زیر یک کوکی به نام "user" با مقدار "John Doe" می‌سازد. این کوکی بعد از ۳۰ روز (۸۶۴۰۰ * ۳۰) منقضی می‌شود. کاراکتر / به معنای این است که کوکی درون وب‌سایت جاری در دسترس است (در غیراینصورت مسیری را که ترجیح می‌دهید را انتخاب کنید)

ما سپس مقدار کوکی "user" را (به وسیله متغیر سراسری $_COOKIE) بازیابی می‌کنیم. ما همچنین از تابع isset() برای اینکه بفهمیم کوکی تنظیم شده‌است یا نه، استفاده می‌کنیم.

مثال

 1 <?php
 2 $cookie_name = "user";
 3 $cookie_value = "John Doe";
 4 setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
 5 ?>
 6 <html>
 7 <body>
 8 
 9 <?php
10 if(!isset($_COOKIE[$cookie_name])) {
11     echo "Cookie named '" . $cookie_name . "' is not set!";
12 } else {
13     echo "Cookie '" . $cookie_name . "' is set!<br>";
14     echo "Value is: " . $_COOKIE[$cookie_name];
15 }
16 ?>
17 
18 </body>
19 </html>


مشاهدهٔ نتیجه


نکته: تابع setcookie() می‌بایست قبل از تگ <HTML> قرار بگیرد.
نکته: مقدار کوکی به صورت URLEncoded و خودکار هنگام ارسال کوکی رمزنگاری می‌شود، و به صورت خودکار هنگام دریافت (برای جلوگیری از رمزنگاری به صورت URLencoding، از تابع setrawcookie() به جای آن استفاده می‌کنیم) رمزگشایی می‌شود.

ویرایش مقدار یک کوکی

برای ویرایش یک کوکی، تنها کوکی را (یک بار دیگر) با استفاده از تابع setcookie() تعریف کنید:

مثال

 1 <?php
 2 $cookie_name = "user";
 3 $cookie_value = "Alex Porter";
 4 setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
 5 ?>
 6 <html>
 7 <body>
 8 
 9 <?php
10 if(!isset($_COOKIE[$cookie_name])) {
11     echo "Cookie named '" . $cookie_name . "' is not set!";
12 } else {
13     echo "Cookie '" . $cookie_name . "' is set!<br>";
14     echo "Value is: " . $_COOKIE[$cookie_name];
15 }
16 ?>
17 
18 </body>
19 </html>


مشاهدهٔ نتیجه


حذف یک کوکی

برای حذف یک کوکی، از تابع setcookie() به همراه یک تاریخ انقضای گذشته استفاده کنید:

مثال

 1 <?php
 2 // set the expiration date to one hour ago
 3 setcookie("user", "", time() - 3600);
 4 ?>
 5 <html>
 6 <body>
 7 
 8 <?php
 9 echo "Cookie 'user' is deleted.";
10 ?>
11 
12 </body>
13 </html>


مشاهدهٔ نتیجه


بررسی اینکه آیا کوکی ها فعال شده‌اند

مثال زیر یک اسکریپت کوچک که بررسی می‌کند آیا کوکی‌ها فعال شده‌اند، ایجاد می‌کند. ابتدا، سعی می‌کند که یک کوکی آزمایشی به وسیله تابع setcookie() ایجاد کند، سپس آرایه $_COOKIE را می‌شمارد:

مثال

 1 <?php
 2 setcookie("test_cookie", "test", time() + 3600, '/');
 3 ?>
 4 <html>
 5 <body>
 6 
 7 <?php
 8 if(count($_COOKIE) > 0) {
 9     echo "Cookies are enabled.";
10 } else {
11     echo "Cookies are disabled.";
12 }
13 ?>
14 
15 </body>
16 </html>


مشاهدهٔ نتیجه


مرجع کامل شبکه در PHP

برای مشاهده یک مرجع کامل از توابع شبکه، به مرجع کامل شبکه در PHP مراجعه کنید.

تمرینات PHP

Time2wait.svg ساخت نمونه مثال این بخش در دست اقدام است.



منابع آموزشی