النتائج 1 إلى 12 من 12

الموضوع: مشكله بالجلسات...Warning

  1. #1
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2002
    المشاركات
    311

    مشكله بالجلسات...Warning



    كود:
    Warning: Unknown(): Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0

    وش حل هالخطأ بالجلسات ..

    وبالمره تعريف الجلسات واضافة القيم لها الطريقة السليمة كيف ؟
    مع تحديد مدة زمنية لإنتهاء الجلسة بدون التعديل على php.ini

    ويعطيكم العافية







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


    حرف the باللغة العربية معطل عندي في الكيبورد لtheالك استبدلته ب\

    أولا: يجب أن تكتب في أول الصفحة التي تريد إضافة الجلسة فيها
    كود PHP:
    session_start(); 
    بعد \لك الكود الخاص بك

    أما عن طريقة تسجيل المتغيرات فإنه كالتالي :
    1- إما أن تكتبها هك\ا :
    كود PHP:
    $var "هنا تكتب قيمة المتغير var";
    session_register("var"); 
    2- أو تكتبها هك\ا :
    كود PHP:
    $_SESSION["var"] = "هنا تكتب قيمة المتغير var"






    __________________
    لغة PHP

    طريقك نحو التقدم و الإبداع .. قريبا جداً

  3. #3
    عضو نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    196


    قد يفيدونا الأخوة في تحديد مدة زمنية لإنتهاء الجلسة بدون التعديل على php.ini
    لأني لا أعرف إلا من خلال php.ini





    __________________
    لغة PHP

    طريقك نحو التقدم و الإبداع .. قريبا جداً

  4. #4
    عضو فعال جدا
    تاريخ التسجيل
    Oct 2003
    المشاركات
    2,775


    اخوي غير اللغة إلى Saudi 101 keys
    ====alsohba






  5. #5
    عضو نشيط
    تاريخ التسجيل
    Sep 2006
    المشاركات
    93


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






  6. #6
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2002
    المشاركات
    311


    اقتباس المشاركة الأصلية كتبت بواسطة alsohba
    حرف the باللغة العربية معطل عندي في الكيبورد لtheالك استبدلته ب\

    أولا: يجب أن تكتب في أول الصفحة التي تريد إضافة الجلسة فيها
    كود PHP:
    session_start(); 
    بعد \لك الكود الخاص بك

    أما عن طريقة تسجيل المتغيرات فإنه كالتالي :
    1- إما أن تكتبها هك\ا :
    كود PHP:
    $var "هنا تكتب قيمة المتغير var";
    session_register("var"); 
    2- أو تكتبها هك\ا :
    كود PHP:
    $_SESSION["var"] = "هنا تكتب قيمة المتغير var"
    يعطيك العافية اخوي

    كانت المشكله بكتابتها بالطريقة التالية
    كود PHP:
    $var "هنا تكتب قيمة المتغير var";
    session_register("var"); 
    والأصح :
    كود PHP:
    $_SESSION["var"] = "هنا تكتب قيمة المتغير var"
    [/QUOTE]


    جزاك الله الف خير





    __________________
    I love Php
    Email Only
    Ziyad(AT)alsharan.com ,I don't have Massenger

  7. #7
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2002
    المشاركات
    311


    اقتباس المشاركة الأصلية كتبت بواسطة أصيل2005
    يا إخوان ممكن المساعدة في تحديد وقت محدد تنتهي به الجلسة بحيث يتم الانتقال الى صفحة تطلب منه تسجيل الدخول مرة اخرى .
    انا لااريد استخدام الكوكيز نهائيا في برنامجي لوجود قيود على اجهزة المستخدمين تمنع تحميل اي ملف على الجهاز .
    بصراحة بحثت عن هالطريقة ولا وجدت طريقة تلغي الجلسة بعد مرور فترة زمنية بدون التعديل على php.ini
    لكن لقيت طريقة ربما تنفع .. وهي فكرة من اجتهاد شخصي .. والي له تعليق عليها ياليت ينورنا ..


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


    ما رأيكم ؟





    __________________
    I love Php
    Email Only
    Ziyad(AT)alsharan.com ,I don't have Massenger

  8. #8
    عضو نشيط
    تاريخ التسجيل
    Sep 2006
    المشاركات
    93


    جزاك الله خيرا على الفكرة هل يمكن اعطاء مثال ولو بسيط على كود التسجيل lastonline والشرط المطلوب .ماني فاهم
    الوقت المطلوب لإنتهاء الجلسة (أكبر من ) الوقت المسجل في lastonline

    طيب اقارن وأنا محدثة مع كل انتقال .






  9. #9
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2002
    المشاركات
    311


    اقتباس المشاركة الأصلية كتبت بواسطة أصيل2005
    جزاك الله خيرا على الفكرة هل يمكن اعطاء مثال ولو بسيط على كود التسجيل lastonline والشرط المطلوب .ماني فاهم
    الوقت المطلوب لإنتهاء الجلسة (أكبر من ) الوقت المسجل في lastonline

    طيب اقارن وأنا محدثة مع كل انتقال .
    الله يخليك يارب

    جربتها عملياً ونجحت معاي الطريقة :nice:

    بكتب لك التفاصيل حتى تتكيف مع برنامجك بس ارتب الكود :court:





    __________________
    I love Php
    Email Only
    Ziyad(AT)alsharan.com ,I don't have Massenger

  10. #10
    عضو نشيط
    تاريخ التسجيل
    Sep 2006
    المشاركات
    279


    فكرة حلوة




    -----------

    جاي التجربة





    __________________


    Mohamed Mahmoud

    Mobile : +20103452846

    Blog : Hawy PHP

    Mail : Hawy [.] PHP [@] Gmail.com

    حسبي الله ونعم الوكيل


  11. #11
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2002
    المشاركات
    311


    شرح الفكرة السابقه بالكود بعد تجربتها ..

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



    إن شاء الله يكون الشرح تمام

    كود PHP:
    //////////////بعد تحقق شرط عملية تسجيل الدخول ؟

    ///يتم وضع هذا الكود

    session_start();
    $_SESSION['name_of_SESSION'] = $any['any'];
    ///تسجيل رقم العضو في الجلسة بعد الحصول عليه من خلال الاستعلام الخاص بتسجيل الدخول
    $_SESSION['user_id'] = $Sql['user_id_from_user_table'];
    ///الوقت الحالي بالثواني
    $nowtime=time();
    ////تحديث آخر دخول للعضو في جدول اليوزر
    $Sql2=mysql_query("UPDATE users SET lastonline = '$nowtime' WHERE user_id = '$Sql[user_id_from_user_table]'"); 
    الكود السابق يوضع في حال تحقق شرط عملية تسجيل الدخول .. وتطبق نفس الفكرة في حال كان اليوزر وحيد يعني مافيه اكثر من يوزر يتم حذف رقم اليوزر ويعوض عنه بتحديث قيمة في جدول مخصص مثلا جدول الconfig يتم وضع قيمة lastonline فيه .. وتحديثها تلقائي بعد عملية الدخول ..


    الكود الثاني :
    كود PHP:
    ///بدأ الجلسة
    session_start();

    ///التحقق من وجود عملية تسجيل
    if(isset($_SESSION['name_of_SESSION'])) {

    ///الوقت بالثواني
    $nowtime=time();
    ///الوقت ناقص 600 ثانية يعني 10 دقائق
    $TimeTologout=$nowtime-600;
    ////استعلام عن قيمة آخر دخول في جدول اليوزر حتى يتم مقارنتها مع الوقت الحالي ناقص 10 دقائق
    $lastinChi=mysql_query("SELECT lastonline From user_table Where user_id='$_SESSION[user_id]''");

    $la=$lastinChi['lastonline'];

    ///شرط إذا كان الوقت المسجل في القاعدة اقل من الوقت الحالي ناقص 10 دقائق يتم حذف الجلسة وتسجيل الخروج
    if ($la $TimeTologout){

    $_SESSION = array();

    session_unset();

    session_destroy();

    echo= 
    "نظراً لعدم قيامك بأي عمل لمدة 10 دقائق متواصلة فقد تم قطع الإتصال، فضلا قم بإعادة تسجيل الدخول";

    exit();
    }
    else
    ////إذا لم يتحقق الشرط إذا يتم تحديث آخر دخول حتى لايتم الغاء الجلسة والعمل قائم فيها ولم يمر 10 دقائق ولم يتم فعل اي شي
    {
    ///الوقت الحالي بالثواني
    $nowtime=time();
    ///تحديث اليوزر للوقت الحالي
    $Upd3=mysql_query("update user_table  SET lastonline = '$nowtime' Where user_id='$_SESSION[user_id]'");

    }

    }
    ?> 
    يكون مثلا ملف بأسم timeout.php ، وفي كل انتقال من صفحة لصفحة يتم استدعاء الملف السابق timeout.php حتى يتم تحديثه

    والكود يشرح نفسه ... :nice:

    تحياتي





    __________________
    I love Php
    Email Only
    Ziyad(AT)alsharan.com ,I don't have Massenger

  12. #12
    عضو نشيط
    تاريخ التسجيل
    Sep 2006
    المشاركات
    93


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










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

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

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