- الجلسة الثانية وفكرة عملها بإستخدام كود عشوائي مخزن في قاعدة البيانات لكل User .
الفكرة يا أخوان بسيطة ، وأنا للأسف لم أجربها ، كل مالدي الآن فكرة عامة وأساسيات في الـ PHP ، فين وفين لما أكتب كود PHP ، أنا مبتدئ وجهاذي خارج الخدمة منذ شهرين وأنا حالياً بدخل من سيبرات النت ، فأنا آسف جداً لضيق وقتي ومحدودية خبرتي ، فالفكرة أم الأختراع كما يقولون ..
الفكرة نظرياً :
- سنقوم أولاً بالدخول الى قاعدة البيانات والتوجه الى جدول المستخدمين ( Users ) ونضيف عمود جديد الى هذا الجدول ، سنقوم بتسميته مثلاً ( سأتراجع عن المسمى الأول الذي كنت قد ذكرته Passsession ) سنسميه مثلاً sessioncode ( كود أو رمز الجلسة الخاصة بالـ user ) ، يبقى كده لكل User حقل سنحفظ فيه كوده السري الذي سنتعامل به مع الجلسات ( نوع الحقل .. لا أعرف ) .
- في برنامج أو نموذج تسجيل العضو ، عندما نرسل بيانات العضو الجديد لقاعدة البيانات ، نقوم بعمل متغير جديد اسمه مثلاً sc$ قبل استعلام insert ونضع له قيمه عشوائية من خلال الدوال ( على ما أتذكر استخدم دالة ()rand ) ، وعندما نكتب استعلام insert نعمل insert لهذا المتغير في الحقل sessioncode مع باقي البيانات الأخرى كالـ username و الـ password و الـ e-mail
كود PHP:
mysql_query("insert into users (username,password,e-mail,sessioncode) VALUES ('$username','$password','$e-mail','$sc')");
بذلك يكون لكل عضو كود خاص به مختلف عن الآخر ( من باب الحرص ياريت نتأكد إن الكود الذي سنعطيه للمستخدم يكون مختلف عن أكواد المستخدمين الآخرين لضمان الحماية ).
- الخطوة الأخيرة : عند تسجيل دخول العضو ، نقوم مثلما نفعل بمقارنة البيانات والتأكد من صحتها ، إن تم التأكد من صحتها نقوم من خلال الإستعلام نفسه أو من خلال استعلام آخر بإيجاد id و sessioncode المخزنين بقاعدة البيانات بدلالة الـ username ، نحفظ الـ id في جلسه و الـ sessioncode في جلسه أخرى .
كود PHP:
$_SESSION['id'] = $row['id'];
$_SESSION['sessioncode'] = $row['sessioncode'];
وفي كل صفحة نقوم بالتحقق من هاتين الجلستيين ، ومقارنتهما بالبيانات المخزنة في حقلي id و الـ sessioncode - بمعنى : إن ثبت وجود قيمة في $_SESSION['id'] سنقوم بعمل استعلام له وإيجاد الـ sessioncode الخاص بهذا الـ id ، ومقارنته بالقيمة الخزنة في الجلسه الاخرة ( $_SESSION['sessioncode'] ) .
الموضوع أنا صعبته نظرياً
- يمكن ؟ !! .
، اعزروني إن كانت هناك أخطاء ، فكان من المفروض إني أعطيكم مثال بالأكواد ، ولكن ليس باليد حيلة ، والله الموفق .