في هذا الدرس سوف تتعرف على ال@-X-@@-X-@@-X-@@-X-@ز ومهامها وكيفية انشاءها وكيفية ازالتها لكي تنشيء علاقة بين موقعك وزواره.
في هذا الدرس سوف نتعرف على النقاط التالية:
ماهي ال@-X-@@-X-@@-X-@@-X-@ز؟
لماذا نحتاج الى استعمال ال@-X-@@-X-@@-X-@@-X-@ز؟
كيف تستخدم ال@-X-@@-X-@@-X-@@-X-@ز في موقعك؟
كيف تزيل ال@-X-@@-X-@@-X-@@-X-@ز؟
ماهي ال@-X-@@-X-@@-X-@@-X-@ز؟ ال@-X-@@-X-@@-X-@@-X-@ز هي ملفات نصية تتضمن معلومات عن المستخدم، حيث يقوم السيرفر بارسالها اليه ليتم حفظها بجهازه، ترسل ال@-X-@@-X-@@-X-@@-X-@ز الى متصفح المستخدم كـ header (هي عبارة عن معلومات يتم تبادلها بين متصفح المستخدم و السيرفر عند طلب صفحة ما)، ولملفات ال@-X-@@-X-@@-X-@@-X-@ز مدة زمنية تكون فعالة فيها وبعد إنقضاء هذه المدة يقوم متصفح المستخدم بحذفها.
و بتعبير برمجي عن ما هي ال@-X-@@-X-@@-X-@@-X-@ز: هي عبارة عن ملفات نقوم بتخزين متغيرات فيها، و عند دخول المستخدم نستطيع استرجاع قيم تلك المتغيرات الموجوده لديه و التعامل معها ..
لماذا نحتاج إلى استخدام ال@-X-@@-X-@@-X-@@-X-@ز؟ إذا كانت لديك معلومات عن مستخدمي موقعك و تريد ان تقوم بعمل كود يستخدم هذه المعلومات بصفة شخصية مثلاً رسالة ترحيبية باسم الشخص عند دخوله الى موقعك او كتابة تاريخ اخر زيارة قام بها الى موقعك أو عرض عدد المرات التي زار فيها الموقع إذا احتجت الى ذلك اذن انت تحتاج الى استخدام ال@-X-@@-X-@@-X-@@-X-@ز.
كيف تستخدم ال@-X-@@-X-@@-X-@@-X-@ز؟ هناك نقاط بسيطة عليك معرفتها حتى تكتب ال@-X-@@-X-@@-X-@@-X-@ز بنجاح في برنامجك، ال@-X-@@-X-@@-X-@@-X-@ز ترسل كـ header الى متصفح المستخدم والـ header ترسل مع اول كتابة أي جملة print او echo في برنامجك و لا يتم ارسال header الا مرة واحده لذا لضمان ارسال ال@-X-@@-X-@@-X-@@-X-@ز، عليك ان تكتب امر ارسال ال@-X-@@-X-@@-X-@@-X-@ز اولا قبل اي شئ اخر .
بعد ارسال ال@-X-@@-X-@@-X-@@-X-@ز الى متصفح المستخدم لن ترسل قيمها الي السيرفر الى عند عملية الطلب الثانية.
يتم ارسال @-X-@@-X-@@-X-@@-X-@ز بواسطة الدالة التالية:
كود PHP:
<?php
set@_@@_@@_@@_@@_@@_@ (string name, string value, integer expire, string path,
string domain, integer secure);
?>
سوف اتناول مرسلات هذه الدالة بالتفصيل ..
المرسلات الإلزامية هي اول مرسلين name ,value اما البقية فهي اختيارية.
يمثل name اسم المتغير و value قيمة المتغير.
اما expire نحدد فيها مدة حياة ال@-X-@@-X-@@-X-@@-X-@ز، اذا لم تقم بتحديد هذا المرسل سوف يحذف ملف ال@-X-@@-X-@@-X-@@-X-@ز فور اغلاق المتصفح أي لن يحتفظ فيه.
ويتم تحديده بواسطة الثواني .. مثلاً اذا اردت الاحتفاظ به لمدة يوم:
كود PHP:
<?php
time()+ 86400
?>
path تستطيع استخدامه اذا اردت ان يستعمل ال@-X-@@-X-@@-X-@@-X-@ز من قبل ملف معين فقط حيث تضع عنوان الملف في موقعك.
domain عند تحديده سوف تتم المقارنة بين الدومين الطلب و بينه.
يستخدم كلا من path و domain من قبل المتصفح عند ارسال ال@-X-@@-X-@@-X-@@-X-@ز ..
من النقاط الهامة معرفتها: في حال عدم تحديد هذه المرسلات سوف تتمكن الملفات الموجوده في نفس المجلد الذي يحوي كود ارسال ال@-X-@@-X-@@-X-@@-X-@ز
من استخدام ال@-X-@@-X-@@-X-@@-X-@ز وكذلك الملفات الموجوده بالمجلدات داخل ذلك المجلد .. لذا اذا اردت من جميع ملفات موقعك استخدام ال@-X-@@-X-@@-X-@@-X-@ز ضعه في المجلد الرئيسي.
secure ضع 1 كقيمة لهذا المرسل ان اردت ارسال ال@-X-@@-X-@@-X-@@-X-@ز فقط باتصال امن باستخدام Secure Socket Layers.
مثال : سوف نقوم بعمل ملف @-X-@@-X-@@-X-@@-X-@ز يحوي على اسم المستخدم:
كود PHP:
<?php
set@_@@_@@_@@_@@_@@_@("<SPAN lang=en-us>name</SPAN>",$name,time()+86400);
?>
مثال اخر: سوف نقوم بعمل ملف @-X-@@-X-@@-X-@@-X-@ز يحوي على مجموعة من المعلومات مثلا اسم المستخدم، تاريخ ميلاده، بريده الإلكتروني:
كود PHP:
<?php
set@_@@_@@_@@_@@_@@_@("info[name]",$name,time()+86400);
?>
كود PHP:
<?php
set@_@@_@@_@@_@@_@@_@("info[birthdate]",$birthdate,time()+86400);
?>
كود PHP:
<?php
set@_@@_@@_@@_@@_@@_@("info[email]",$email,time()+86400);
?>
الان عندما يزور المستخدم صفحتك مرة اخرى ستتمكن من استخدام قيم المتغيرات الموجوده في ال@-X-@@-X-@@-X-@@-X-@ز اي معلومات المستخدم.
كيف تزيل ال@-X-@@-X-@@-X-@@-X-@ز؟ إزالة ال@-X-@@-X-@@-X-@@-X-@ز عملية سهلة نستخدم نفس الداله لكن هذه المره لا نضع اي مرسلات سوى اسم المتغير ..
لإزالة ال@-X-@@-X-@@-X-@@-X-@ز في المثال الاول:
كود PHP:
<?php
set@_@@_@@_@@_@@_@@_@("name");
?>
:أما لإزالة ال@-X-@@-X-@@-X-@@-X-@ز في المثال الثاني
كود PHP:
<?php
set@_@@_@@_@@_@@_@@_@("info[name]");
?>
كود PHP:
<?php
set@_@@_@@_@@_@@_@@_@("info[birthdate]");
?>
كود PHP:
<?php
set@_@@_@@_@@_@@_@@_@("info[email]");
?>
مزيد من المعلومات: تستطيع اسخدام الدوال الاتية لتحكم بإرسال معلومات header وهي:
كود PHP:
<?php
ob_start();
?>
يبدأ بتخزين كل ما يجب ارساله للمستخدم مؤقتا.. في السيرفر.
كود PHP:
<?php
ob_end_flush();
?>
يرسل كل محتويات المخزن المؤقت إلى المستخدم.
تستفيد من هذه الدوال في كتابة ال@-X-@@-X-@@-X-@@-X-@ز بوضع الداله ob_start في بداية الملف ووضع ob_end_flush بعد الانتهاء من كتابة ال@-X-@@-X-@@-X-@@-X-@ز و ايضا أي معلومات تريد ارسالها في header ... هكذا تستطيع التحكم بعملية ارسال header وتضمن نجاح إرسال ال@-X-@@-X-@@-X-@@-X-@ز.