كوكي معمولاً براي شناسايي كاربر استفاده مي شود.
كوكي چيست؟
كوكي اغلب براي شناسایی كاربر استفاده مي شود. يك كوكي فايل كوچكي است كه سرور آنرا بر روي كامپيوتر كاربر قرار مي دهد. هر وقت همان كامپيوتر از طريق مرورگر درخواستي را به سرور فرستاد، كوكي را نيز همراه آن خواهد فرستاد. با استفاده از PHP مي توانيد مقادير كوكي ها را ذخيره و يا بازيابي كنيد.
چطور كوكي را ايجاد كنيم؟
تابع ()setcookie براي تنظيم يك كوكي استفاده مي شود.
توجه: تابع ()setcookie بايد هميشه قبل از تگ <html> قرار داشته باشد.
گرامر
setcookie(name, value, expire, path, domain); |
مثال 1
در مثال زير، مي خواهيم يك كوكي با نام “user”ايجاد كنيم و مقدار “Alex Porter”را به آن نسبت دهيم. ما همچنين مشخص كرده ايم كه كوكي پس از گذشت يك ساعت از بين برود:
<?php setcookie(“user”, “Alex Porter”, time()+3600); ?> <html> |
توجه: مقدار كوكي هنگام ارسال آن بصورت خودكار كدگذاري شده (URLencoded)، و هنگام دريافت بصورت خودكار كدگشايي مي گردد.
مثال 2
شما همچنين مي توانيد يك زمان انقضاي كوكي را به صورت ديگري محاسبه كرده و برحسب ثانيه بدهيد.
<?php $expire=time()+60*60*24*30; setcookie(“user”, “Alex Porter”, $expire); ?> <html> |
در مثال فوق زمان انقضاي كوكي به يك ماه تنظيم شده است (يك ماه مساوي است با 60*60*24*30 ثانيه)
چطور مثدار يك كوكي را بازيابي كنيم؟
در PHP از متغیر $_COOKIE برای بازیابی مقدار یک کوکی استفاده می شود.
در مثال زیر، یک مقدار از کوکی به نام “user” را بازیابی کرده و آنرا در یک صفحه نمایش می دهد.
<?php // Print a cookie echo $_COOKIE[“user”]; // A way to view all cookies |
در مثال زیر از تابع ()isset برای تشخیص اینکه یک کوکی تنظیم شده یا خیر استفاده کرده ایم.
<html> <body> <?php </body> |
چگونه یک کوکی را حذف کنیم؟
برای حذف یک کوکی، باید تاریخ انقضای آنرا به گذشته تغییر دهید.
مثال حذف:
<?php // set the expiration date to one hour ago setcookie(“user”, “”, time()-3600); ?> |
اگر مرورگر کوکی ها را پشتیبانی نکند چه باید کرد؟
اگر برنامه کاربردی شما با مرورگرهایی سروکار دارد که کوکی ها را پشتیبانی نمی کنند، باید از روشی غیر از کوکی برای انتقال اطلاعات عبور از یک صفحه به صفحه دیگر کمک بگیرید.یک روش برای این کار استفاد ه از فرم ها است.
در زیر ما ورودی کاربر را هر وقت روی دکمه “submit” کلیک شود، به صفحه “welcome.php” می فرستیم.
<html> <body> <form action=”welcome.php” method=”post”> </body> |
مقادیر در صفحه “welcome.php” بصورت زیر بدست می آیند:
<html> <body> Welcome <?php echo $_POST[“name”]; ?>.<br /> </body> |