[متقدم] الكوكيز Cookies
عندما تقوم بالتسجيل في احد المنتديات ستجد انه يتعرف عليك تلقائياً ولكن كيف سيتم ذلك في الـphp ؟؟
ان استخدام الكوكيز في لغة الـphp ممكن!! والكوكيز هي : ملفات نصية يتم حفظها في جهاز الزائريمكن قراءتها والكتابة عليها وانشائها في لغة الـphp
سنتطرق في درسنا هذا على كيفية زراعة ملفات الكوكيز في جهاز الضحية وكيفية التعرف عليها إذا كانت منشاءة مسبقاً
اولاً قم بإنشاء ثلاثة ملفات وهي كالتالي:
login.php : وسيتم فيه عرض نموذج تسجيل الدخول
welcome.php : في هذا الملف سيتم التحقق من وجود ملف الكوكيز أو لا في حال تم إنشاء الملف سيتم عرض رسالة ترحيب
logout.php : سيتم في هذا الملف تسجيل خروج الزائر
والآن إليك شفرة الملف login.php
كود PHP:
<?php
// في السطر التالي يتم التحقق ما إذا كان الزائر قد قام بإرسال بياناته أو لا
if ($REQUEST_METHOD=="POST")
{
// في السطر التالي يتم تحديد مدة بقاء الكوكيز في جهاز الزائر
$Time = time()+(3600);
// في السطر التالي يتم زراعة الكوكيز في جهاز الزائر
setcookie ("SaphpCks" , $Visit , "$Time");
ECHO "<HTML DIR=RTL> ";
// في السطر التالي قمنا بطباعة رسالة ترحيب للزائر
ECHO "<B><CENTER> شكراً لتسجيل دخولك يا $Visit ستنتقل الآن إلى الصفحة welcome.php </CENTER></B>";
// في السطر التالي نقوم بالإنتقال التلقائي إلى الصفحة Welcome.php
ECHO "<META HTTP-EQUIV='Refresh' Content='2;URL=welcome.php'>";
} else {
ECHO "<HTML DIR=RTL> ";
// في السطر التالي قمنا بإنشاء نموذج إرسال
ECHO "<FORM METHOD='POST' ACTION='login.php'>";
// في السطر التالي قم بإدخال مربع نص ليدخل الزائر فيه اسمه
ECHO "<CENTER><b>الاسم الكريم</b><INPUT TYPE='text' NAME='Visit' SIZE='30'>
";
// قمنا في السطر التالي بإنشاء زر إرسال وهو أغلقنا النموذج
ECHO "<INPUT TYPE='submit' VALUE='دخول' ></FORM>";
}
?>
</HTML>
لقد قمنا في الشفرة السابقة للملف login.php بزراعة ملف الكوكيز في جهاز الزائر وانا متيقن بإنك نبيه وقد عرفت كيفية زراعة ملفات الكوكيز في جهاز الزائر ولكننني سأشرحها مكن باب الفائدة
إذا كنت تريد زراعة ملف كوكيز في جهاز الزائر فانظر إلى الشفرة التالية
كود PHP:
<?
setcookie ("Val" ,"SAPHP" , "time");
?>
حيث Val هي اسم المتغير الخاص بملف الكوكيز يتم استخدامه في حال كنت تريد استدعائه
و SAPHP قيمة المتغير او محتوى ملف الكوكيز
و time مدة بقاء الكوكيز في جهاز الزائر
والآن سننتقل إلى شفرة الملف welcome.php
كود PHP:
<?php
// في السطر التالي يتم التحقق من وجود الكوكيز في جهاز الزائر
if ($SaphpCks){
// عرض رسالة ترحيب للزائر
ECHO "<HTML DIR=RTL> ";
ECHO "مرحباً بك $SaphpCks <BR>";
ECHO "<A HREF='logout.php'>تسجيل الخروج</A>";
} else {
ECHO "<HTML DIR=RTL> ";
// في حال لم يكن ملف الكوكيز موجوداً يتم عرض الرسالة التالية
ECHO "<B>لم تقم بالتسجيل الدخول انقر <A HREF='login.php'>هنـــا</A> لتسجيل الدخول ";
}
?>
</HTML>
في شفرة الملف السابق سنجد انه إذا كان الزائر قد قام بتسجيل الدخول فسيتم عرض رسالة ترحيبية له أما إذا لم يكن قد قام بذلك فيستم عرض رابط لينتقل إلى صفحة الدخول
الآن سننتقل إلى شفرة الملف logout.php
كود PHP:
<?php
// في السطر التالي يتم مسح الكوكيز من الجهاز
setcookie ("SaphpCks","",time() - 86400);
ECHO "<HTML DIR=RTL> ";
// عرض رسالة توضح بأنه تم تسجيل خروج الزائر
ECHO "تم تسجيل خروجك بنجاح";
?>
</HTML>
في الشفرة السابقة قمنا بتعديل ملف الكوكيز في جهاز الزائر إلى نتيجة فارغة ووقت سابق
انتهى الــدرس بحمد الله ...
