صفحة 2 من 3 الأولىالأولى 123 الأخيرةالأخيرة
النتائج 16 إلى 30 من 36

الموضوع: درس عمل نظام تسجيل الدخول للموقع بالجلسات

  1. #16
    عضو نشيط
    تاريخ التسجيل
    Oct 2008
    المشاركات
    283


    اعتقد ان الدرس الي انت اديتهولي عشان اشوفهذا القطعه


    كود PHP:
    $myusername stripslashes($myusername);
    $mypassword stripslashes($mypassword);
    $myusername mysql_real_escape_string($myusername);
    $mypassword mysql_real_escape_string($mypassword); 
    انا بستخدم داله للحماية انا عملتها ليه
    وارجو منك شرح بمثال بسيط حكاية حقل اخر
    وجزاك الله الف خير
    - الحقل نسميه مثلاً passsession وعند كل تسجيل لأي عضو سيتم وضع في هذا الحقل أي قيمة عشوائية ، حتى يكون لكل عضو كود سري سيتم التعامل به عند الجلسات .
    - عند تسجيل دخول العضو ، نختزن بالـ SESSION قيمتان - القيمة الأولى هي الـ id مثلاً الخاصة بالعضو والقيمة الثانية هي passsession الموجودة في قاعدة البيانات الخاصة بهذا الـ id .
    - عند انتقال العضو من خلال الصفحات سيتم التحقق من id ومعه الـ passsesion ( مقارنة البيانات الموجودة بالـ SESSION والبيانات المخزنة بقاعدة البيانات ) .

    الفائدة :
    - عندما نريد الإحتفاظ ببيانات مستخدم بواسطة الجلسات ، نستخدم جلستين الأولى للـ id أو الـ Username والثانية (password العضو أو password+كلمة إضافية ) الـ password قد يكون خطر - والحالة الثانية ( password + كلمة إضافية ) غير مضمونة إذا ماتم معرفة الكلمة الإضافية والتي يسهل معرفتها عند قراءة الأكواد ، أما الـ passsession فهو كود عشوائي مخزن بقاعدة البيانات - لا هو مكتوب في الملفات ولاهو معلوم للمستخدم أو المدير إلا إذا تم الإطلاع عليه من قاعدة البيانات .

    إيه رأيكم ..؟





    __________________
    اللهم وفقني لما تحبه وترضاه...

  2. #17
    عضو نشيط
    تاريخ التسجيل
    Apr 2004
    المشاركات
    236


    تمام جداً
    اشكر اخي محمد على الدرس
    و اشكر باقي الاخوة على توضيح بعض الامور المهمة
    لان انا حالياً بطبق بعض الدروس على سكربت معين من برمجتي
    و كنت وقعت في خطأ في حكاية السيشن و هو تخزين الـ id و الباسوورد (حتى انه مش مشفر) ..





    __________________
    مشاريعي الحالية :
    الحوارات |||||||||| 90%
    الأخبار |||||||||| 5%
    آخر |||||||||| 40%

  3. #18
    عضو نشيط جدا
    تاريخ التسجيل
    Apr 2008
    المشاركات
    361


    - الحقل نسميه مثلاً passsession وعند كل تسجيل لأي عضو سيتم وضع في هذا الحقل أي قيمة عشوائية ، حتى يكون لكل عضو كود سري سيتم التعامل به عند الجلسات .
    - عند تسجيل دخول العضو ، نختزن بالـ SESSION قيمتان - القيمة الأولى هي الـ id مثلاً الخاصة بالعضو والقيمة الثانية هي passsession الموجودة في قاعدة البيانات الخاصة بهذا الـ id .
    - عند انتقال العضو من خلال الصفحات سيتم التحقق من id ومعه الـ passsesion ( مقارنة البيانات الموجودة بالـ SESSION والبيانات المخزنة بقاعدة البيانات ) .

    الفائدة :
    - عندما نريد الإحتفاظ ببيانات مستخدم بواسطة الجلسات ، نستخدم جلستين الأولى للـ id أو الـ Username والثانية (password العضو أو password+كلمة إضافية ) الـ password قد يكون خطر - والحالة الثانية ( password + كلمة إضافية ) غير مضمونة إذا ماتم معرفة الكلمة الإضافية والتي يسهل معرفتها عند قراءة الأكواد ، أما الـ passsession فهو كود عشوائي مخزن بقاعدة البيانات - لا هو مكتوب في الملفات ولاهو معلوم للمستخدم أو المدير إلا إذا تم الإطلاع عليه من قاعدة البيانات .

    إيه رأيكم ..؟
    هل من امثلة على ذلك ؟






  4. #19
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    947


    ماشاء الله .. كل يوم في تقدم أخ محمد .. وفقك الله وبارك لك
    لدي ملاحظة أيضاً لم يتطرق اليها أحد
    عند تسجيل الخروج لا تستخدم session_destroy واستخدم session_unregister أو unset لان session_destroy تحذف جميع الجلسات الموجودة وهناك الكثير من المواقع تعتمد على جلسات أخرى لأهداف معينة مثل عمل عداد للزيارات و غيره وبالتالي سيحذف هذه الجلسة أيضاً
    فالحل انك تلغي فقط الجلسات التي لا تريدها

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





    __________________
    قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير

  5. #20
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    - الحقل نسميه مثلاً passsession وعند كل تسجيل لأي عضو سيتم وضع في هذا الحقل أي قيمة عشوائية ، حتى يكون لكل عضو كود سري سيتم التعامل به عند الجلسات .
    - عند تسجيل دخول العضو ، نختزن بالـ SESSION قيمتان - القيمة الأولى هي الـ id مثلاً الخاصة بالعضو والقيمة الثانية هي passsession الموجودة في قاعدة البيانات الخاصة بهذا الـ id .
    - عند انتقال العضو من خلال الصفحات سيتم التحقق من id ومعه الـ passsesion ( مقارنة البيانات الموجودة بالـ SESSION والبيانات المخزنة بقاعدة البيانات ) .

    الفائدة :
    - عندما نريد الإحتفاظ ببيانات مستخدم بواسطة الجلسات ، نستخدم جلستين الأولى للـ id أو الـ Username والثانية (password العضو أو password+كلمة إضافية ) الـ password قد يكون خطر - والحالة الثانية ( password + كلمة إضافية ) غير مضمونة إذا ماتم معرفة الكلمة الإضافية والتي يسهل معرفتها عند قراءة الأكواد ، أما الـ passsession فهو كود عشوائي مخزن بقاعدة البيانات - لا هو مكتوب في الملفات ولاهو معلوم للمستخدم أو المدير إلا إذا تم الإطلاع عليه من قاعدة البيانات .

    إيه رأيكم ..؟

    جزاك الله الف خير اخي مصطفي بس لو فيها راله مني ممكن تعمل مثال عشان اعرفها وغيرى بردك يعرفوها

    ماشاء الله .. كل يوم في تقدم أخ محمد .. وفقك الله وبارك لك
    لدي ملاحظة أيضاً لم يتطرق اليها أحد
    عند تسجيل الخروج لا تستخدم session_destroy واستخدم session_unregister أو unset لان session_destroy تحذف جميع الجلسات الموجودة وهناك الكثير من المواقع تعتمد على جلسات أخرى لأهداف معينة مثل عمل عداد للزيارات و غيره وبالتالي سيحذف هذه الجلسة أيضاً
    فالحل انك تلغي فقط الجلسات التي لا تريدها

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

    جزاك الله الف خير اخي مهندس علي الاضافات منك جزاك الله الف خير





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

  6. #21


    تمام جداً
    اشكر اخي محمد على الدرس
    و اشكر باقي الاخوة على توضيح بعض الامور المهمة
    لان انا حالياً بطبق بعض الدروس على سكربت معين من برمجتي
    و كنت وقعت في خطأ في حكاية السيشن و هو تخزين الـ id و الباسوورد (حتى انه مش مشفر) ..
    هذه كارثة

    علي فكرة شباب الطريقة الموضحه في الأعلي هي طريقة الفي بي
    بالإضافة للتحقق من الhost وال ip في كل صفحة بحيث لو واحد أخذ الكوكيز لجهاز أخر لا يعمل
    ويتم التشفير للبيانات في بيان يسمي idhash في قاعدة البيانات في الجدول session


    ولا أفضل عموما إستخدام الجلسات ولكن الكوكيز أفضل مع عدم إعطاء وقت لينتهي مع غلق المتصفح مثل الجلسة بالضبط





    __________________
    السيف أصدق أنباء من الكتب

  7. #22
    عضو نشيط
    تاريخ التسجيل
    Apr 2004
    المشاركات
    236


    - الحقل نسميه مثلاً passsession وعند كل تسجيل لأي عضو سيتم وضع في هذا الحقل أي قيمة عشوائية ، حتى يكون لكل عضو كود سري سيتم التعامل به عند الجلسات .
    - عند تسجيل دخول العضو ، نختزن بالـ SESSION قيمتان - القيمة الأولى هي الـ id مثلاً الخاصة بالعضو والقيمة الثانية هي passsession الموجودة في قاعدة البيانات الخاصة بهذا الـ id .
    - عند انتقال العضو من خلال الصفحات سيتم التحقق من id ومعه الـ passsesion ( مقارنة البيانات الموجودة بالـ SESSION والبيانات المخزنة بقاعدة البيانات ) .

    الفائدة :
    - عندما نريد الإحتفاظ ببيانات مستخدم بواسطة الجلسات ، نستخدم جلستين الأولى للـ id أو الـ Username والثانية (password العضو أو password+كلمة إضافية ) الـ password قد يكون خطر - والحالة الثانية ( password + كلمة إضافية ) غير مضمونة إذا ماتم معرفة الكلمة الإضافية والتي يسهل معرفتها عند قراءة الأكواد ، أما الـ passsession فهو كود عشوائي مخزن بقاعدة البيانات - لا هو مكتوب في الملفات ولاهو معلوم للمستخدم أو المدير إلا إذا تم الإطلاع عليه من قاعدة البيانات .

    إيه رأيكم ..؟
    ياريت توضحها بالأكواد اخي .. و شكراً لك ..





    __________________
    مشاريعي الحالية :
    الحوارات |||||||||| 90%
    الأخبار |||||||||| 5%
    آخر |||||||||| 40%

  8. #23
    عضو نشيط
    تاريخ التسجيل
    Oct 2008
    المشاركات
    283


    علي فكرة شباب الطريقة الموضحه في الأعلي هي طريقة الفي بي
    بالإضافة للتحقق من الhost وال ip في كل صفحة بحيث لو واحد أخذ الكوكيز لجهاز أخر لا يعمل
    ويتم التشفير للبيانات في بيان يسمي idhash في قاعدة البيانات في الجدول session


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

    وبالنسبة لأفضلية الكوكيز عن الجلسات ، طبعاً الكوكيز ( على حد علمي ) ولكن أنا لحد الآن لا أعرف السبب الحقيقي الذي يجعل الكثيريين على هذا المنتدى يتحدثون عن الـ SESSIONS فقط ، لم أجد على ما أتذكر لحد الآن كلمة أو موضوع أو استفسار في هذا المنتدى عن الكوكيز بالرغم من أهميته ،لا أعرف إن كانت بسبب الحماية أم ماذا بالضبط ؟





    __________________
    اللهم وفقني لما تحبه وترضاه...

  9. #24
    عضو فعال
    تاريخ التسجيل
    Feb 2008
    المشاركات
    1,759


    لا أعرف إن كانت بسبب الحماية أم ماذا بالضبط ؟
    لا ولكن بسبب انها هى الطريقة الاولى اللى تعلمناها لعمل الجلسات لحفظ الجلسة داخل الاسكريبت وعدم الخروج منه
    هذا هو كل شئ





    __________________
    FaceBook Application Developer
    تعلم برمجة سكريبت جلب المحتوى خطوة بخطوة
    مشروعى داخل معرض الاتصالات
    لمراسلتي إضغط هنا
    سبحان الله وبحمده سبحان الله العظيم

  10. #25
    عضو نشيط
    تاريخ التسجيل
    Oct 2008
    المشاركات
    283

    - الجلسة الثانية وفكرة عملها بإستخدام كود عشوائي مخزن في قاعدة البيانات لكل User .



    - الجلسة الثانية وفكرة عملها بإستخدام كود عشوائي مخزن في قاعدة البيانات لكل 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'] ) .

    الموضوع أنا صعبته نظرياً - يمكن ؟ !! .
    ، اعزروني إن كانت هناك أخطاء ، فكان من المفروض إني أعطيكم مثال بالأكواد ، ولكن ليس باليد حيلة ، والله الموفق .





    __________________
    اللهم وفقني لما تحبه وترضاه...

  11. #26
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    - الجلسة الثانية وفكرة عملها بإستخدام كود عشوائي مخزن في قاعدة البيانات لكل 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'] ) .

    الموضوع أنا صعبته نظرياً - يمكن ؟ !! .
    ، اعزروني إن كانت هناك أخطاء ، فكان من المفروض إني أعطيكم مثال بالأكواد ، ولكن ليس باليد حيلة ، والله الموفق .
    جزاك الله الف خير اخي مصطفي انا فهمة قصدك هنا الكود هنضعهو عند تسجيل عضو جديد يعني عند ادخال معلومات العضو الجديد نعمل متغير ونضع داله راند في متغير وفي كود الادخال نحت الحقل والمتغير المدخل ليه

    وعند تسجيل الجلسة نتاكد من الاسم صح والبسورد ونسجل ليه الجلسه ي ما في الموضوع في الاعلي بس بدل
    جلسة اليوز اعمل جلسة للكود
    انا حطية الشرح عشان لو مفيش حد فهمهى


    جزاك الله الف خيراااااا اخي مصطفي





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

  12. #27
    عضو نشيط
    تاريخ التسجيل
    Oct 2008
    المشاركات
    283


    على فكرة ، هناك طريقة آخرى مماثلة للفكرة السابقة والتي قد تكون هي الطريقة المتبعة لحفظ بيانات الجلسات في منتديات الـ vB .

    أولاً : نعمل جدول اسمه session ، وتكون حقوله ( userid و sessioncode ) ، في حقل الـ userid سنقوم بتخزين id المستخدم ، أما الحقل الثاني سيتم تخزين فيه الكود العشوائي .
    ثانياً : عند تسجيل دخول مستخدم ما ، وبعد التحقق من الـ username والـ password الخاصة به ، سنقوم بعمل استعلام للـ id الخاص بهذا الـ user ، وعندها سيتم أخذ هذا الـ id ووضعه في حقل userid الموجود في جدول session ومعه قيمة أخرى عشوائية سيتم اختزانها في الحقل الآخر المسمى بالـ sessioncode ، وفي نفس الوقت سنخزن هاتين القيمتين في جلستين .
    ثالثاً : في كل صفحة سنقوم التحقق من وجود الـ userid في الجلسات ، إن كان فعلاً موجود في الجلسه وله قيمه ، سنقوم بعمل استعلام لهذا userid في جدول session وجلب الـ sessioncode الخاص به ، بعدها نقوم بإختبار القيمة المخزنة في جلسة sessioncode مع القيمة الموجود بالقاعدة في حقل sessioncode .

    إذن الفكرة اتغيرت في شئ واحد عن سابقتها ، في أن هذه الطريقة ستضع عند كل تسجيل دخول المستخدم كود آخر وهكذا ، أما الطريقة السابقة ستضع لكل user قيمة عشوائية مثبته له مهما عمل 100000 تسجيل دخول .

    - أعتقد إن الطريقة دي ممكن تكون أفضل من الأولى ولكن كلاهما يؤديان نفس الغرض .
    وشكراً لك أخي محمد على طرحك الموضوع ، وكما تفضلت الطريقة مضبوطة ، وإن شاء الله تعجبك هذه الطريقة أيضاً .





    __________________
    اللهم وفقني لما تحبه وترضاه...

  13. #28
    عضو نشيط
    تاريخ التسجيل
    Apr 2004
    المشاركات
    236


    على فكرة ، هناك طريقة آخرى مماثلة للفكرة السابقة والتي قد تكون هي الطريقة المتبعة لحفظ بيانات الجلسات في منتديات الـ vB .

    أولاً : نعمل جدول اسمه session ، وتكون حقوله ( userid و sessioncode ) ، في حقل الـ userid سنقوم بتخزين id المستخدم ، أما الحقل الثاني سيتم تخزين فيه الكود العشوائي .
    ثانياً : عند تسجيل دخول مستخدم ما ، وبعد التحقق من الـ username والـ password الخاصة به ، سنقوم بعمل استعلام للـ id الخاص بهذا الـ user ، وعندها سيتم أخذ هذا الـ id ووضعه في حقل userid الموجود في جدول session ومعه قيمة أخرى عشوائية سيتم اختزانها في الحقل الآخر المسمى بالـ sessioncode ، وفي نفس الوقت سنخزن هاتين القيمتين في جلستين .
    ثالثاً : في كل صفحة سنقوم التحقق من وجود الـ userid في الجلسات ، إن كان فعلاً موجود في الجلسه وله قيمه ، سنقوم بعمل استعلام لهذا userid في جدول session وجلب الـ sessioncode الخاص به ، بعدها نقوم بإختبار القيمة المخزنة في جلسة sessioncode مع القيمة الموجود بالقاعدة في حقل sessioncode .

    إذن الفكرة اتغيرت في شئ واحد عن سابقتها ، في أن هذه الطريقة ستضع عند كل تسجيل دخول المستخدم كود آخر وهكذا ، أما الطريقة السابقة ستضع لكل user قيمة عشوائية مثبته له مهما عمل 100000 تسجيل دخول .

    - أعتقد إن الطريقة دي ممكن تكون أفضل من الأولى ولكن كلاهما يؤديان نفس الغرض .
    وشكراً لك أخي محمد على طرحك الموضوع ، وكما تفضلت الطريقة مضبوطة ، وإن شاء الله تعجبك هذه الطريقة أيضاً .
    تمام الله ينور عليك .. انا كنت فاتح الموضوع و بطبق كلامك ..
    بس النقطة التالتة وضحها بالاكواد عشان مش قادر استوعبها بشكل جيد ..

    انا مش فاهم ايه فايدة session_register (); مازال هنستخدم $_SESEEION[''];





    __________________
    مشاريعي الحالية :
    الحوارات |||||||||| 90%
    الأخبار |||||||||| 5%
    آخر |||||||||| 40%

  14. #29
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    على فكرة ، هناك طريقة آخرى مماثلة للفكرة السابقة والتي قد تكون هي الطريقة المتبعة لحفظ بيانات الجلسات في منتديات الـ vB .

    أولاً : نعمل جدول اسمه session ، وتكون حقوله ( userid و sessioncode ) ، في حقل الـ userid سنقوم بتخزين id المستخدم ، أما الحقل الثاني سيتم تخزين فيه الكود العشوائي .
    ثانياً : عند تسجيل دخول مستخدم ما ، وبعد التحقق من الـ username والـ password الخاصة به ، سنقوم بعمل استعلام للـ id الخاص بهذا الـ user ، وعندها سيتم أخذ هذا الـ id ووضعه في حقل userid الموجود في جدول session ومعه قيمة أخرى عشوائية سيتم اختزانها في الحقل الآخر المسمى بالـ sessioncode ، وفي نفس الوقت سنخزن هاتين القيمتين في جلستين .
    ثالثاً : في كل صفحة سنقوم التحقق من وجود الـ userid في الجلسات ، إن كان فعلاً موجود في الجلسه وله قيمه ، سنقوم بعمل استعلام لهذا userid في جدول session وجلب الـ sessioncode الخاص به ، بعدها نقوم بإختبار القيمة المخزنة في جلسة sessioncode مع القيمة الموجود بالقاعدة في حقل sessioncode .

    إذن الفكرة اتغيرت في شئ واحد عن سابقتها ، في أن هذه الطريقة ستضع عند كل تسجيل دخول المستخدم كود آخر وهكذا ، أما الطريقة السابقة ستضع لكل user قيمة عشوائية مثبته له مهما عمل 100000 تسجيل دخول .

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

    انا مش فاهم ايه فايدة session_register (); مازال هنستخدم $_SESEEION[''];
    هم لتسجيل الجلسه عشان تعرف تستخدمها في الصفحات





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

  15. #30
    عضو نشيط
    تاريخ التسجيل
    Oct 2008
    المشاركات
    283


    تمام الله ينور عليك .. انا كنت فاتح الموضوع و بطبق كلامك ..
    بس النقطة التالتة وضحها بالاكواد عشان مش قادر استوعبها بشكل جيد ..

    انا مش فاهم ايه فايدة session_register (); مازال هنستخدم $_SESEEION[''];
    تفضل أخي ..
    كود PHP:
    session_start();
    if (
    $_SESSION['userid'] & $_SESSION['sessioncode']) {
        
    $sc_result mysql_query("SELECT sessioncode FROM session WHERE userid='$_SESSION['userid']'");
        
    $sc_row mysql_fetch_array($sc_result);
        if (
    $sc_row['sessioncode'] == $_SESSION['sessioncode']) {
            
    $user_result mysql_query("SELECT username FROM users WHERE id='$_SESSION['userid']'");
            
    $user_row mysql_fetch_array($user_result);
            echo 
    "Welcome $user_row['username']"
        }else{
            echo 
    "You can not log in";
        }
    }else{
        echo 
    "<a href='login.php'>Login</a>";

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

    وعلى فكرة ، الجدول الذي قمنا بعمله ( session ) سيفتح لنا الباب لعمل أشياء أخرى مثل :
    - آخر زيارة قام بها المستخدم & معرفة الصفحة التي يتواجد بها المستخدم حالياً & إلخ ...

    دمتم بود ،،،





    التعديل الأخير تم بواسطة Mostafa Maher ; 25-11-2008 الساعة 10:32 PM سبب آخر: تعديل الكود
    __________________
    اللهم وفقني لما تحبه وترضاه...





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض