مولاتى

بســــــم الله الرحمن الرحيم


<meta name="propeller" content="7edb445ea1f8a84d8d2c566f754a8268" />
عزيزي الزائر / عزيزتي الزائرة يرجي التكرم بتسجبل الدخول اذا كنت عضو معنا


او التسجيل ان لم تكن عضو وترغب في الانضمام الي اسرة المنتدي


سنتشرف بتسجيلك


شكرا
ادارة المنتدي

مولاتى


 
البوابةالرئيسيةس .و .جبحـثالأعضاءالمجموعاتالتسجيلدخول

شاطر | 
 

 الدرس الثاني عشر: الجلسات (Sessions)

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 
كاتب الموضوعرسالة
Admin
Admin
Admin
avatar

الساعة الأن :
الدوله :
ذكر عدد المساهمات : 210
نقاط : 6625
تاريخ التسجيل : 25/11/2014
العمر : 30
الموقع : www.moulati.arab.st

مُساهمةموضوع: الدرس الثاني عشر: الجلسات (Sessions)   الثلاثاء ديسمبر 16, 2014 10:50 pm

عندما تزور موقعاً فأنت تفعل أشياء مختلفة، تنتقل من صفحة لأخرى وربما تضع معلومات في نموذج أو تشتري منتجاً.
كمطور مواقع مثل هذه المعلومات لها أهمية كبيرة لتوفير حلول ناجحة للويب.
افترض مثلاً أنك تطور موقعاً يحوي بضع صفحات محمية باسم وكلمة سر، لكي تكون الحماية فعالة يجب أن تتمكن الصفحات المحمية بكلمة السر من الوصول إلى معلومات حول إمكانية دخول المستخدم في وقت سابق، بمعنى آخر يجب على الصفحة أن تتذكر ما فعله المستخدم سابقاً.
هذا بالضبط ما يدور حوله هذا الدرس، كيف يمكنك استخدام الجلسات في PHP لحفظ واسترجاع المعلومات أثناء زيارة المستخدم لموقعك.

الجلسات

أمر [وحدهم المديرون لديهم صلاحيات معاينة هذا الرابط] في PHP يسمح لك بإدارة المعلومات حول جلسة المستخدم، يمكنك كتابة تطبيقات ذكية يمكنها معرفة المستخدم وجمع معلومات حوله.
الجلسة يمكن أن تبدأ بطرق مختلفة، لن نشرح التفاصيل التقنية هنا لكن سنركز على حالة حيث الجلسة تبدأ بحفظ قيمة، الجلسة تبدأ وتنتهي إذا لم يطلب المستخدم أي صفحة خلال وقت محدد، (20 دقيقة هو المعيار)، بالطبع يمكنك أن تنهي الجلسة في برنامجك.
لنفترض أن 50 شخصاً يتصفحون نفس الموقع - متجر مثلاً - في نفس الوقت، أفضل وسيلة لحفظ معلومات ما قد تحويه سلة المشتريات لكل واحد منهم هي الجلسات، لكي نحدد كل زائر المزود يستخدم رقم تعريف محدد يحفظ في كوكيز (cookie)، الكوكيز هو ملف نصي صغير يحفظ في حاسوب المستخدم، (للمزيد حول الكوكيز اقرأ [وحدهم المديرون لديهم صلاحيات معاينة هذا الرابط])، لذلك الجلسات تتطلب دعم الكوكيز في متصفح الزائر.

مثال لاستخدام الجلسات

عندما تطلب هذه الصفحة ستحفظ الوقت الحالي في جلسة، فعلت ذلك لكي أوضح لك بالمثال كيف تعمل الجلسات.
سميت المتغير "StartTime" وحفظته بإضافة هذه الأسطر لبرنامج PHP:


session_start();
$_SESSION["StartTime"] = date("r");


?>


هكذا بدأنا جلسة، كما هو مذكور أعلاه كل جلسة لها رقم تعريف خاص بها في المزود.
الجلسة الخاصة بك رقم تعريفها: nlfiq65cv19pm4vkanohlhrt24
في أي وقت، يمكنني أن أطلب "StartTime" من الجلسة بكتابة التالي:


session_start();
echo $_SESSION["StartTime"];


?>


والذي سيظهر لنا أن هذه الصفحة طلبت في هذا الوقت Tue, 16 Dec 2014 Smile:46:28 +0100 (بحسب ساعة المزود).
لكن ما هو مثير أن المعلومة ستبقى في الجلسة حتى لو تركت الصفحة، المعلومة ستلاحقك حتى تنتهي الجلسة.
تلقائياً الجلسة تدوم حتى يغلق الزائر المتصفح وهكذا تنتهي الجلسة تلقائياً، لكن إن أردت أن تنهي الجلسة يمكنك أن تفعل ذلك بهذه الطريقة:


session_destroy();


?>


لننظر في مثال آخر حيث الجلسات تستخدم: كلمات السر.

نظام دخول مع الجلسات

في المثال التالي سنطور مثالاً بسيطاً لنظام دخول، سنستخدم كثيراً مما تعلمناه في الدروس السابقة.
أول ما نحتاجه هو نموذج يدخل فيه الناس الاسم وكلمة السر، سيكون بهذا الشكل:


Login





Username:



Password:











بعد ذلك ننشأ ملف login.php.
في هذا الملف سنتأكد ما إذا أدخل المستخدم اسماً وكلمة سر صحيحين، في هذه الحالة نبدأ جلسة تقول بأن المستخدم سجل دخوله باسم وكلمة سر صحيحين.


Login








// Check if username and password are correct
if ($_POST["username"] == "php" && $_POST["password"] == "php") {
// If correct, we set the session to YES
session_start();
$_SESSION["Login"] = "YES";
echo "

You are now logged correctly in

";
echo "

[وحدهم المديرون لديهم صلاحيات معاينة هذا الرابط]

";

}
else {
// If not correct, we set the session to NO
session_start();
$_SESSION["Login"] = "NO";
echo "

You are NOT logged correctly in

";
echo "

[وحدهم المديرون لديهم صلاحيات معاينة هذا الرابط]

";
}


?>







في الملفات المحمية نريد أن نتأكد أن المستخدم سجل دخوله بشكل صحيح، في حال لم ينجز ذلك المستخدم سيعود إلى نموذج الدخول، هكذا تحمي الصفحات:


// Start up your PHP Session
session_start();


// If the user is not logged in send him/her to the login form
if ($_SESSION["Login"] != "YES") {
header("Location: form.php");
}


?>




Login




This document is protected


You can only see it if you are logged in.








[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة] [وحدهم المديرون لديهم صلاحيات معاينة هذا الرابط]
الآن نحن نعرف أمر الجلسات، في الدرس التالي سنعمل في نفس المساحة لكن سنلقي نظرة مقربة أكثر على الكوكيز


قناة المعلم التعليميه للشروحات المصوره والشروحات التعليميه والثقافيه والفنيه والتكنلوجيا
نحن نؤمن بأنه ليس هناك رجلا يعرف كل شئ ولكننا نؤمن بتبادل الافكار
اذا اعجبكم الشرح ارجو ان تضغطو على زر ( اعجاب + مشاركه )
ومتابعتنا على قناة المعلم عبر الرابط التالى
[وحدهم المديرون لديهم صلاحيات معاينة هذا الرابط]

ومتابعتنا عبر صفحتنا فى الفيس بوك عبر الرابط التالى
[وحدهم المديرون لديهم صلاحيات معاينة هذا الرابط]


[وحدهم المديرون لديهم صلاحيات معاينة هذا الرابط]
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://moulati.arab.st
 
الدرس الثاني عشر: الجلسات (Sessions)
استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
مولاتى :: youtube :: قناة المُعلم :: دروس كامله وشامله عن الـ PHP-
انتقل الى: