وباکا

آموزش تخصصی برنامه نویسی وب

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


كوكي چيست؟

كوكي اغلب براي شناسایی كاربر استفاده مي شود. يك كوكي فايل كوچكي است كه سرور آنرا بر روي كامپيوتر كاربر قرار مي دهد. هر وقت همان كامپيوتر از طريق مرورگر درخواستي را به سرور فرستاد، كوكي را نيز همراه آن خواهد فرستاد. با استفاده از 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
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>

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

فهرست مطالب