کوکی ها Cookies در Php

بازدید: 380 بازدید
کوکی ها در php

کوکی ها Cookies در Php ، در حالت کلی برای شناسایی یک کاربر به کار گرفته می شوند.

با مبحث دیگری از دوره حرفه ای php در خدمت شما هستیم.

در آموزش امروز درباره کوکی ها Cookies و کاربرد آنها در php صحبت خواهیم کرد.

در ادامه با نحوه کدنویسی و استفاده از آنها در برنامه های php آشنا خواهیم شد.

همراه پرنیان باشید.

با سلام خدمت شما همراهان همیشگی وب سایت پرنیان طرح

کوکی ها Cookies در Php ، در حالت کلی برای شناسایی یک کاربر به کار گرفته می شوند.

با مبحث دیگری از دوره حرفه ای php در خدمت شما هستیم.

در آموزش امروز درباره کوکی ها Cookies و کاربرد آنها در php صحبت خواهیم کرد.

در ادامه با نحوه کدنویسی و استفاده از آنها در برنامه های php آشنا خواهیم شد.

همراه پرنیان باشید.

cookie in php

کوکی ها در php معمولا برای شناسایی یک کاربر مورد استفاده قرار می گیرند.

 

کوکی چیست؟

همانطور که بالاتر گفته شد، یک کوکی برای شناسایی یک کاربر مورد استفاده قرار می گیرد.

کوکی یک فایل کوچک است که از سمت سرور روی کامپیوتر کاربر، تعبیه می شود.

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

در زبان php، شما هم می توانید هم کوکی بسازید و هم آنها را بازیابی کنید.

ساخت یک کوکی در php

کوکی ها با استفاده از تابع ()setcookie در php ساخته می شوند.

شکل دستوری ایجاد کوکی

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

از پارامترهایی که در این تابع وجود دارند، تنها پارامتر name ضروری و لازم است.

باقی پارامترها را می توانید بدون مقدار دادن رها کنید.

ایجاد / بازیابی کوکی

در مثال زیر، یک کوکی با نام user ایجاد خواهیم کرد. این کوکی مقدار John Doe خواهد بود.

این کوکی بعد از 30روز منقضی خواهد شد. (از بین می رود) 30*86400

علامت / مشخص می کند که این کوکی در تمام صفحات وب سایت در دسترس و قابل استفاده است.

(درغیر اینصورت، پوشه ای را که میخواهید کوکی به آن دسترسی داشته باشد انتخاب کنید.)

در قدم بعدی، مقدار موجود در کوکی user را با استفاده از متغیر سراسری COOKIE_$ بازیابی خواهیم کرد.

همچنین از تابع()isset برای اینکه بفهمیم آیا کوکی تنظیم (ست) شده است یا نه، استفاده می کنیم.

[php]

<?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];
}
?>

[/php]

نکته! تابع ()setcookie باید قبل از تگ <HTML> نوشته شود.

نکته! مقدار موجود در کوکی در هنگام ارسال، به صورت اتوماتیک URLencoding می شود.(یعنی کاراکترهای آن به صور قابل ارسال با URLتبدیل می شوند)

و در زمان دریافت نیز decode می شوند.

برای جلوگیری از این کار، میتواند به جای تابع گفته شده در بالا، از تابع ()setrawcookie استفاده کنید.

اطلاح مقادیر کوکی ها

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

به مثال زیر دقت کنید.

[php]

<?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];
}
?>

[/php]

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

در سمت راست صفحه محتویات صفحه را مطالعه کنید و سپس یکبار صفح را رفرش کنید.(دکمه f5) را فشار دهید. حالا دوباره سمت راست صفحه را مطالعه کنید.

حذف کردن کوکی

برای حذف یکی کوکی، بازهم از تابع ()setcookie استفاده می کنیم.

نکته مهم اینجاست که یک تاریخ انقضا در گذشته برای ان وارد می کنیم.

برای درک بهتر مطلب به این کد دقت کنید:

[php]

<!DOCTYPE html>
<?php
// set the expiration date to one hour ago
setcookie(“user”, “”, time() – 3600);
?>
<html>
<body>

<?php
echo “Cookie ‘user’ is deleted.”;
?>

</body>
</html>

[/php]

نتیجه این نمایش پیغام Cookie ‘user’ is deleted. خواهد بود.

چک کردن فعال بودن کوکی

مثال  زیر، یک کد ساده را برای چک کردن اینکه کوکی فعال است یا نه،  می سازد.

ایتدا با تابع ()setcookie یک کوکی می سازیم.

سپس مقادیر آرایه  $_COOKIEرا شمارش می کنیم.

[php]

<!DOCTYPE html>
<?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]

نتیجه کد بالا نمایش عبارت Cookies are enabled. خواهد بود.

منبع سایت w3schools

اگر این مطلب برای شما مفید بود ما را در گوگل ستاره باران کنید.

دسته بندی دسته بندی نشده
اشتراک گذاری
مقالات مرتبط

دیدگاهتان را بنویسید

سبد خرید

هیچ محصولی در سبد خرید نیست.