الجلسات و ملفات تعريف الإرتباط في php . ج 1الكوكيز
الجلسات Session . و ملفات تعريف الإرتباط المعروفة إختصارا بالكوكيز
تقنيتين مختلفتين تستخدمان لحفظ معلومات معينة عن الزائر كإسم المستخدم و اللغة و غيرها من تفضيلات التصفح و بالتالي لن يحتاج المستخدم / الزائر إلى تعريف هويته عند كل زيارة أو عند فتح كل صفحة
الجلسات Session . و ملفات تعريف الإرتباط المعروفة إختصارا بالكوكيز
aa-- --bb
jjjjjjjjjjjjj
تقنيتين مختلفتين تستخدمان لحفظ معلومات معينة عن الزائر كإسم المستخدم و اللغة و غيرها من تفضيلات التصفح و بالتالي لن يحتاج المستخدم / الزائر إلى تعريف هويته عند كل زيارة أو عند فتح كل صفحة
يتم حفظ معلومات الجلسة في خادم الويب ( السيرفر ) بينما يتم حفظ الكوكيز على جهاز الزائر
تنتهي مدة صلاحية الجلسة بمجرد إغلاق المتصفح . بينما يمكن الإحتفاظ بمعلومات الكوكيز حتى بعد إغلاق / إعادة تشغيل الجهاز
لنبدأ أولا بالجلسة Session
1) الجلسات Session
قم بإنشاء صفحتين على موقعك بإمتداد php و ليكونا على سبيل المثال page1.php و page2.php
في الصفحة الأولى page1.php
<?php
session_start();
$_SESSION["var1"] = "aziz";
$_SESSION["var2"] = "www.wahj.cf";
echo "تم إنشاء الجلسة بنجاح.";
?>
1 - دالة session_start تستخدم لبدأ الجلسة . و تكتب قبل أي محتوى html أو متغيرات للجلسة
2 - يمكن تخزين أكثر من متغير في الجلسة الواحدة بإستخدام مصفوفة $_SESSION
في الصفحة التانية page2.php
عند طلب الصفحة page1 من المتصفح سترى الرسالة : تم إنشاء الجلسة بنجاح.
عند طلب الصفحة page2 ستعرض قيمة المتغييرين السابقين
لاحظ أن :
يمكن حذف أي متغير من الجلسة عن طريق دالة
أو يمكن إنهاء الجلسة و حدف جميع محتوياتها كالتالي
2) ملفات تعريف الإرتباط / الكوكيز
ينبغي ملاحظة أن ملفات تعريف الإرتباط لا تشتغل على جميع المتصفحات كما أن بعض برامج التصفح تعطي للمستخدم خيار تعطيل أو تفعيل هده الميزة
أنشئ صفحتين جديدتين على موقعك cookie1.php و cookie2.php
في الصفحة الأولى cookie1.php
تأخد الدالة setcookie إفتراضيا 3 قيم
<?php
session_start();
echo $_SESSION["var1"]." / ".$_SESSION["var2"];
?>
عند طلب الصفحة page1 من المتصفح سترى الرسالة : تم إنشاء الجلسة بنجاح.
عند طلب الصفحة page2 ستعرض قيمة المتغييرين السابقين
لاحظ أن :
- قيمة المتغييرين غير موجودة في الصفحة page2
- لا يوجد أي إرتباط فعلي بين الصفحتين page1 و page2
- إدا قمت بإغلاق المتصفح و إعادة تشغيله و طلبت الصفحة التانية page2 فلن تتمكن من معاينة قيمة المتغيرين
يمكن حذف أي متغير من الجلسة عن طريق دالة
unset
unset($_SESSION["var1"]);
unset($_SESSION["var2"]);
أو يمكن إنهاء الجلسة و حدف جميع محتوياتها كالتالي
2) ملفات تعريف الإرتباط / الكوكيز
ينبغي ملاحظة أن ملفات تعريف الإرتباط لا تشتغل على جميع المتصفحات كما أن بعض برامج التصفح تعطي للمستخدم خيار تعطيل أو تفعيل هده الميزة
أنشئ صفحتين جديدتين على موقعك cookie1.php و cookie2.php
في الصفحة الأولى cookie1.php
setcookie('var1', 'aziz',time() + 3600 );
setcookie('var2', 'www.wahj.cf', time() + 3600 );
تأخد الدالة setcookie إفتراضيا 3 قيم
- مفتاح المتغير
- قيمة المتغير
- تاريخ إنتهاء الصلاحية
يتم تحويل هده المعطيات إلى المصفوفة $_COOKIE
في الصفحة التانية cookie2.php
echo $_COOKIE["var1"]." / ". $_COOKIE["var2"];
- كحال التجربة الأولى ستكون قادرا على معاينة قيمة المتغييرين في الصفحة التانية إدا قمت بزيارة الصفحة الأولى مسبقا
- ستبقى المتغيرات نشطة لمدة ساعة واحدة ( 3600 ثانية ) و هو الوقت الدي ححدناه في المدخل الثالت للدالة setcookie
- المتغيرات تبقة نشطة حتى بعد مغادرة المتصفح أو إعادة تشغيل الجهاز
يمكن جعل مدة صلاحية المتغيرات أطول بزيادة قيمة المدخل الثالث
86400 ثانية = 1 يوم
*30 = 1 شهر
إنتهى الدرس