با عرض سلام و وقت به خیر خدمت کاربران سایت پی وی لرن و کاربرانی که دوره ی آموزش php 7 را دنبال می کنند.
در جلسه گذشته آموختیم که چگونه می توان در php 7 به آپلود فایل در سرور پرداخت. در ادامه دوره آموزش php 7 به آموزش کار با کوکی ها در php 7 را به علاقمندان این دوره ارائه می نماییم.
از کوکی برای شناسایی کاربر اغلب استفاده می شود.
از کوکی برای شناسایی کاربر اغلب استفاده می شود.
کوکی یک فایل کوچک است که سرور بر روی کامپیوتر کاربر جاسازی می کند.
هربار که یک کامپیوتر یک صفحه را با یک مرورگر درخواست می کند، کوکی را نیز ارسال می نماید.
با استفاده از php می توانید علاوه بر ساختن کوکی ها، آن ها را بازیابی نیز نمایید.
می توان با استفاده از تابع ()setcookie کوکی ها را ساخت.
1 | setcookie(name, value, expire, path, domain, secure, httponly); |
فقط پارامتر نام مورد نیاز است و تمام پارامترهای دیگر اختیاری هستند.
مثال زیر یک کوکی به نام “user” با مقدار “John Doe” ایجاد می کند.
کوکی بعد از ۳۰ روز منقضی میشود (۸۶۴۰۰ * ۳۰).
“/” به این معنی است که کوکی در کل وب سایت در دسترس است (در غیر این صورت پوشه ای را که ترجیح می دهید انتخاب کنید).
حالا مقدار کوکی “user” (با استفاده از متغیر سراسری COOKIE_$) را بازیابی می کنیم.
همچنین از تابع ()isset برای پیدا کردن اینکه آیا کوکی تنظیم شده است یا خیر استفاده می کنیم:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?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> نمایش داده شود.
مقدار کوکی به طور خودکار هنگام ارسال کوکی URLencoded می شود و به صورت خودکار رمزگشایی می گردد.
(برای جلوگیری از URLencoding شدن، از تابع ()setrawcookie استفاده کنید).
برای تغییر مقدار کوکی کافیست کوکی را با استفاده از تابع ()setcookie مجدداً تنظیم کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <?php $cookie_name = "user"; $cookie_value = "Alex Porter"; 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> |
برای حذف یک کوکی، از تابع ()setcookie با یک تاریخ انقضاء expiration استفاده نمایید.
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php // set the expiration date to one hour ago setcookie("user", "", time() - 3600); ?> <html> <body> <?php echo "Cookie 'user' is deleted."; ?> </body> </html> |
مثال زیر یک اسکریپت کوچک ایجاد می کند که بررسی می کند که کوکی ها فعال هستند یا خیر.
ابتدا سعی کنید یک کوکی آزمایشی با استفاده از تابع ()setcookie ایجاد کنید، سپس متغیر آرایه COOKIE_$ را حساب کنید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?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> |
در این جلسه مفصلاً به آموزش کار با کوکی ها در php 7 پرداختیم و با ایجاد، بازیابی، حذف و تغییر مقدار یک کوکی آشنا شدیم.
در جلسه بعد بعد به آموزش کار با جلسات در php 7 می پردازیم.
با پی وی لرن همراه باشید.