عمل تسجيل خروج او انهاء السشين بعد وقت معين
السلام عليكم ورحمة الله وبركاته
بحاول اعمل شغلة بلوحة التحكم وهي اذا صار وقت مثلا ربع ساعة يعمل تسجيل خروج تلقائي طبعا اذا المستخدم ما عمل شي وبعد ربع ساعة عمل تحديث او انتقل لصفحة بتظهر اله انه تم تسجيل خروجك لانتهاء الجلسة انا حاولت لكن لم يفلح الامر :) $max_time = 10; $time = $_SESSION['time']; $limitsec=$time-$max_time; $time; if($time > $limitsec) header("location:logout.php");
3 إجابات
اشرح بوضوح اكثر مافهمت
بواسطة: 7814032 0 من 0 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا
هذه طريقة نظرية لم اجربها اعتمادا على فكرة ملهم ، هذه الجافا سكربت باستخدام الج ىكويرى
$(document).ready(function(){ setTimeout(function(){ $.post( 'session.php', { 'check' : 1 }, function( data ) { if(data.logout){ window.location = 'logout.php' } },'json'); }, 900000); });هذا الكود يعمل على الاتصال بصفحة session.php كل 10 دقايق من الثبات على الصفحة وهذا كود session.php <?php if($_POST['check']){ if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 1800)) { exit( json_encode(array( 'logout' => true)) ); } } ?>يجب عليك ربط هذه الصفحة بالصفحة التى بدات بها الجلسة اى الصفحة المجود بها session_start(); ويفضل ان تكون فى الكونفج .. بعد ذلك مع نفس الصفحة ال بتبدا بيها الجلسة هتستخدم الكود ده session_start(); if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 1800)) { // تدمير الجلسة .. ستضع هنا نفس الكود الذى تستخدمه لتسجيل الخروج session_destroy(); session_unset(); } $_SESSION['LAST_ACTIVITY'] = time();كدة كل مهتعمل رفرش هيسجل ان اخر ريفرش كانت من 30 دقيقة .. ولو ثبت على صفحة 10 دقايق هيتصل يشوف ياترى اخر اتصال من 30 دقيقة ولا لا .. لو اخر هيحولك لصفحة logout.php ملحوظة : اى خطا اعزرنى عندى امتحان فى الكلية بكرة الصبح بواسطة: MacOS 3 من 3 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا شكرا كل الشكر لكم
بالنسبة لانتهاء الجلسات ، يمكنك استعمال هذه الطريقة
if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 1800)) { // اخر طلب كان منذ اكثر من 30 دقيقة session_destroy(); // تدمير الجلسات session_unset(); // الغاء $_SESSION } $_SESSION['LAST_ACTIVITY'] = time(); // تحديث وقت اخر نشاطولكن هذا الكود لن يعمل الا عند عمل ريفرش .. لعمله دون ريفرش لابد من استعمال الاجاكس بواسطة: molhm 3 من 3 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا اخي molhm كود رائع صراحة |
لو انك تريد عمل هذا فى حالة انه ترك المتصفح مفتوح .. لابد من استخدام الجافا سكريبت
12 / يناير / 2012 الساعة 0:7
كيف يمكنني ذلك عن طريق الجافا سكربت
12 / يناير / 2012 الساعة 0:12