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


کوکی چیست؟

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


چطور کوکی را ایجاد کنیم؟

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

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

گرامر
setcookie(name, value, expire, path, domain);
مثال ۱

در مثال زیر، می خواهیم یک کوکی با نام “user”ایجاد کنیم و مقدار “Alex Porter”را به آن نسبت دهیم. ما همچنین مشخص کرده ایم که کوکی پس از گذشت یک ساعت از بین برود:

<?php
setcookie(“user”, “Alex Porter”, time()+3600);
?>

<html>
…..

توجه: مقدار کوکی هنگام ارسال آن بصورت خودکار کدگذاری شده (URLencoded)، و هنگام دریافت بصورت خودکار کدگشایی می گردد.

مثال ۲

شما همچنین می توانید یک زمان انقضای کوکی را به صورت دیگری محاسبه کرده و برحسب ثانیه بدهید.

<?php
$expire=time()+60*60*24*30;
setcookie(“user”, “Alex Porter”, $expire);
?>

<html>
…..

در مثال فوق زمان انقضای کوکی به یک ماه تنظیم شده است (یک ماه مساوی است با ۶۰*۶۰*۲۴*۳۰ ثانیه)

 


چطور مثدار یک کوکی را بازیابی کنیم؟

در PHP از متغیر $_COOKIE برای بازیابی مقدار یک کوکی استفاده می شود.

در مثال زیر، یک مقدار از کوکی به نام “user” را بازیابی کرده و آنرا در یک صفحه نمایش می دهد.

<?php
// Print a cookie
echo $_COOKIE[“user”];

// A way to view all cookies
print_r($_COOKIE);
?>

در مثال زیر از تابع ()isset برای تشخیص اینکه یک کوکی تنظیم شده یا خیر استفاده کرده ایم.

<html>
<body>

<?php
if (isset($_COOKIE[“user”]))
echo “Welcome ” . $_COOKIE[“user”] . “!<br />”;
else
echo “Welcome guest!<br />”;
?>

</body>
</html>

 


چگونه یک کوکی را حذف کنیم؟

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

مثال حذف:

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

 


اگر مرورگر کوکی ها را پشتیبانی نکند چه باید کرد؟

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

در زیر ما ورودی کاربر را هر وقت روی دکمه “submit” کلیک شود، به صفحه “welcome.php” می فرستیم.

<html>
<body>

<form action=”welcome.php” method=”post”>
Name: <input type=”text” name=”name” />
Age: <input type=”text” name=”age” />
<input type=”submit” />
</form>

</body>
</html>

مقادیر در صفحه “welcome.php” بصورت زیر بدست می آیند:

<html>
<body>

Welcome <?php echo $_POST[“name”]; ?>.<br />
You are <?php echo $_POST[“age”]; ?> years old.

</body>
</html>

نمایش قابل چاپ