يستخدم الكوكيز عادة لتحديد هوية المستخدم .
ماهو الكوكيز ؟
يستخدم الكوكيز عادة لتحديد هوية المستخدم . ان الكوكي cookie عبارة عن ملف صغير يتم ارساله من خلال السيرفر الى حاسوب المستخدم . و في كل مرة يتم طلب الصفحة من خلال المتصفح سيتم ارسال ملف الكوكي ايضاً . يمكنك إنشاء و استرجاع ملفات و قيم الكوكي .
كيف يمكن إنشاء cookie ؟
يستخدم الكود الوظيفي setcookie() لإنشاء كوكي .
ملاحظة : يجب وضع كود setcookie() قبل وسم <html> .
التركيبة
setcookie(name, value, expire, path, domain);
مثال 1
في المثال التالي سيتم إنشاء cookie اسمه user والقيمة هي Ahmad . كما سيتم تحديد انتهاء cookie بعد ساعة :
<?php setcookie("user", "Ahmad", time()+3600); ?> <html> .....
ملاحظة : يتم ترميز قيمة cookie تلقائياً عند ارسال cookie كما يتم ترميزه تلقائياً عند استرجاعه ولتجنب ترميز الروابط URL يمكنك استخدام setrawcookie() عوضاً عنها .
مثال 2
يمكنك تحديد وقت انتهاء cookie بطريقة أخرى أيضاً . كما يمكن أن تكون أسهل عند استخدام الثواني :
<?php $expire=time()+60*60*24*30; setcookie("user", "Ahmad", $expire); ?> <html> .....
في المثال السابق تم تحديد انتهاء وقت الملف لشهر ( 60 ثا , 60 د , 24 سا , 30 يوم ) .
كيفية استرجاع قيمة Cookie ؟
يمكن استخدام المتغير $_COOKIE لاسترجاع قيمة cookie .
في المثال التالي تم استرجاع قيمة cookie المسماة user وعرضها في الصفحة :
<?php // اظهار الكوكي echo $_COOKIE["user"]; // طريقة أخرى لعرض جميع الوكيز print_r($_COOKIE); ?>
تم استخدام isset() في المثال التالي لمعرفة فيما اذا تم ضبط cookie أم لا :
<html> <body> <?php if (isset($_COOKIE["user"])) echo "Welcome " . $_COOKIE["user"] . "!<br />"; else echo "Welcome guest!<br />"; ?> </body> </html>
كيف تحذف Cookie ؟
عند حذف cookie ينبغي التأكد بأن تاريخ الانتهاء هو في الماضي .
مثال عن حذف كوكي cookie
<?php // set the expiration date to one hour ago setcookie("user", "", time()-3600); ?>
ماذا لو كان المتصفح لا يدعم cookie ؟
اذا كنت تتعامل مع متصفحات لا تدعم cookie عندها يمكنك استخدام طرق أخرى لتمرير المعلومات من صفحة الى أخرى . إحدى هذه الطرق هي تمرير المعلومات من خلال النماذج forms ( تم شرح النماذج و المدخلات في دروس ماضية ) .
يمرر النموذج مدخلات المستخدم إلى الصفحة "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>
ليست هناك تعليقات:
إرسال تعليق