PDA

View Full Version : ایجاد محدودیت زمانی



iman64
سه شنبه 29 اردیبهشت 1388, 19:48 عصر
سلام به همه دوستان
آقا من یه ماژول امتحان دارم که میخوام محدودیت زمانی داشته باشه و بعد از مثلاً 20 دقیقه یه پیغام بده که وقت شما تمام شد و هر چی طرف نوشته رو به صفحه بعد ببره.
خواهش میکنم اگه کسی سورسش رو داره بده تا فیض ب

iman64
سه شنبه 29 اردیبهشت 1388, 22:34 عصر
دستت درد نکنه حالا شما بگو من چطوری این کار رو کنم.من معمولاً وقتی سورسی رو میگیرم تا پدرش رو در نبارم و باهاش ور نرم ازش استفاده نمیکنم.
ممنون میشم مراحل کار رو بفرمایید.

rasoolgh1
چهارشنبه 30 اردیبهشت 1388, 01:09 صبح
سلام من هم این مشکل رو دارم اما دوستون درست گفت و با ajax میشه این کارو کرد
اما با تکنیک های ajax باید آشنا بشی عزیز:اشتباه::اشتباه:

امیـرحسین
چهارشنبه 30 اردیبهشت 1388, 01:21 صبح
اصول کار دقیقا همینی بود که دوستمون گفتند.

یه request آژاکس باید نوشته بشه که بیاد اطلاعات مثلا فرم رو به صفحه بعد ببره. این request باید مثلا 20 دقیقه بعد از load صفحه انجام بشه.

یعنی باید توسط setTimeOut، بیست دقیقه بعد، تابع آژاکستون رو run کنید.

I,Nobody
چهارشنبه 30 اردیبهشت 1388, 08:49 صبح
استفاده از settimeOut و جاوا اسكريپت به تنهايي ممكنه به مشكل بر بخوره.
شما علاوه بر مواردي كه دوستان گفتند، بايد زمان ورود به صفحه رو ثبت كنيد.
بعدش مثلاً هر يك دقيقه يك بار با AJAX زمان فعلي رو با زمان ورود مقايسه كنيد. اگر ديد زمان تموم شده و صفحه ريدايركت نشده، ريدايركت رو انجام بديد.
يعني دو بار كنترل داشته باشيد

iman64
چهارشنبه 30 اردیبهشت 1388, 10:10 صبح
دوستان واقعاً ممنون ولی ای کاش یه کد میدادید تا بیشتر متوجه عرائضتون بشم.چون من اصلاً به جاوا اسکریپت و آجاکس آشنایی ندارم.به هر حال من با یه تکنیک خودساخته این مشکل رو تا حدودی حل کردم یعنی این کار رو کردم .زمان ورود به صفحه رو با تابع time() ثبت کردم.بعد موقعی که کاربر وارد صفحه بعد میشه زمان ورود به اون صفحه رو هم ثبت میکنم و از هم کم میکنم اگر مثلاً بیشتر از 120 ثانیه شد یعنی دو دقیقه به کاربر اعلام میکنه که متأسفانه وقت شما تمام شده است و مشکلی هم از این بابت نداره ولی یه مشکل دیگه دارم که خداییش راهنمایی کاملتری بکنینم.اگه متوجه شده باشید در خیلی از سایتهایی که ثبت نامشون چند مرحله است مثل سایت سازمان سنجش وقتی توی یه مرحله اشتباهی بشه دیگه کاربر نمیتونه بازدن دکمه back به صفحه قبل برگرده و اطلاعاتش رو تصحیح کنه.حتماً متوجه منظورم شدید.حالا چطور از برگشت کاربر به صفحه قبل خودداری کنم.
ممنون.
این هم اون کد زمانبندی


$time = time();
<input type=\"hidden\" name=\"time1\" value=\"$time\">
اون اولی زمان ورود به صفحه اوله و دومی هم که این زمان رو به صورت مخفی به صفحه بعد انتقال میده.
$time1 = $_POST[time1];
$time2 = time();
$time3= $time2-$time1;

if($time3<=120){

واینجا هم که اولیش زمان ورودی از صفحه قبله و دومی زمان ورودی به صفحه دوم و سومی هم تفاضلشونه و چهارمی هم که شرط عملیاته که اگه صحیح باشه بقیه عملیات انجام میشه و اگه ناصحیح باشه پیغام تأسف میده.به نظر شما واسه یه مبتدی چطوره؟