الأحد، 20 مايو 2012

ماهي الـ Cookies

من طرف Mohammed Al-kenani  |  نشر في :  2:48 م 0 تعليقات


 
السكاكر لا تحتوي على فايروسات او ما شابه

كل ملف من هذا النوع له تاريخ انتهاء و لا يمكن ان يستمر للابد و لكن يمكن ان تبقي الملف إلى العام 250 او لمدة دقائق او يمكن ان يقوم الزائر نفسه بحذفه من جهازه.


على العموم التعامل مع السكاكر في البي اتش في غاية السهولة..


PHP CODE:
0001
<? Setcookie() ; ?>

الدالة setcookie هي المسؤلة عن عملية إضافة و الغاء هذا الملف..


PHP CODE:
0001
0002
0003
0004
 <? </center>
<
center>setcookie ("name","value") ;
?> </center>
<center>


حيث name هو الاسم الذي ستختاره للملف ..
و value هي القيمة التي تريد تخزينها لهذا الملف.



هذا النوع من السكاكر يسمى session حيث انه يستمر باستمرار التصفح و حالما يغلق الزائر متصفحه يتم الغاءه..

لو كنت تريد تحديد موعد معين لإلغاء الملف يجب تحديد موعد الانتهاء.
مثلا لو كنت تريد انتهاء صلاحية الملف بعد 24 ساعة ..
24 * 60 * 60 =86400
اي 24 ساعة في 60 دقيقة في 60 ثانية و يساوي 86400 و من هذا نستنتج ان القيمة يجب ان تكون بالثواني مثلا لو اردنا ابقاء الملف لمدة عام ...
العام به 365 يوم و اليوم به 24 ساعة و الساعة بها 60 دقيقة و الدقيقة بها 60 ثانية.. و عند ضرب هذه الارقام ببعضها البعض نحصل على القيمة 31536000
و بالعودة لملفنا فلو اردنا لملفنا ان ينتهي خلال 24 ساعة .. يكون الكود هكذا..


PHP CODE:
0001
0002
0003
<?
setcookie 
("name',"value", time() + 86400 );
?>


لتسهيل الموضوع اكثر سنستخدم مثال حي ... مثلا نظام لمعرفة عدد مرات زيارة كل شخص لموقع معين..



ملفنا سنسميه mysitevisit و سيحتوي على عدد مرات زيارة هذا الشخص للموقع ..
سنفحص جهاز الزائر في حال تواجد هذا الملف فهذا يعني انها ليست الزيارة الاولى و ناخذ القيمة من الملف و من ثم نعيد إضافة الملف بالقيمة الجديدة اي بعد ان نضيف واحد عليها . و ان لم نجد الملف فمعنا هذا انها الزيارة الاولى.. فنعين القيمة واحد للملف..


[


PHP CODE:
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
 <? </center>
<
center>if ($HTTP_COOKIE_VARS['mysitevisit']){
$newvalue=$HTTP_COOKIE_VARS['mysitevisit']++;
setcookie("mysitevisit",$newvalue,time()*86400);
echo 
"مرحبا هذه زيارتك رقم $newvalue للموقع";
}else{
setcookie ("mysitevisit",1,time()+ 86400);
echo 
"هذه زيارتك الاولى للموقع";
}
?>
</center>
<center>


تأكد من كان هناك كوكيز مسجلة باسم الزائر من و الكوكي مسجل في المتغير HTTP_COOKIE_VARS و اسم الكوكيز الخاص بنا هو mysitevisit
لو كان المتغير موجود إذا الزائر زار الموقع من قبل و نريد فمثلا لو كانت قيمةmysitevisit هي 10 سنقوم في الخطوة التالية يإضافةواحد إلى المجموع لحساب هذه الزيارة فيصبح 11
و سنسجل القيمة الجديدة لزيارات الزائر في الكوكيز من جديد من خلال set_cookie
ولكن لو كانت هذه أول زيارة للشخص سنقوم بإنشاء الكوكي ووضع القيمة واحد للتأكيد أن هذه هي الزيارة الأولى للشخص


ملاحظة


عند إضافة ملف السكر في جهاز المتصفح .. يجب ان تضع الكود setcookie قبل اي كود يقوم بطباعة او قبل اي شفرة html .

لماذا قد تحتاج إلى استخدام السكاكرهناك استخدامات عدة .. مثلا انظمة التصويت و الاستفتاء.. فعند انشائنا لباحث الدكتور نت في نسخته الجديدة لاحظنا ان قاعدة البيانات كانت تنهار باستمرار ..و عند تتبع الامر وجدنا ان الكثير من المواقع كانت تصوت ( لنفسها ) لمرات تصل لاكثر من الف مرة..!!! ( اتسائل من اين لديهم الوقت لذلك ) و لم نجد حل افضل من السكاكر... فنتاكد ان كان الشخص قد صوت لهذا الموقع من قبل ام لا .. و حدد الوقت المسموح للتصويت لكل موقع ب24 ساعة .


في حال اردت مثلا انشاء انظمة يكون فيها مراكز تحكم ..!! مثلا انظمة خروج و دخول ...الخ .. و هناك الكثير من التطبيقات التي يمكنك ان تستخدمها فيها ..

التسميات :
Mohammed Al-kenani

كاتب مختص في مدونة مفكر التقنية

اشتراك

الحصول على كل المشاركات لدينا مباشرة في صندوق البريد الإلكتروني

شارك الموضوع

مواضيع ذات صلة

0 التعليقات:

back to top