PDA

View Full Version : سوال: محاسبه تایمر رفرش صفحه با php



Ali110k
شنبه 20 خرداد 1396, 07:08 صبح
سلام
من یک صفحه طراحی کردم و یک کد رفرش در اون گذاشتم و میخوام یک طوری باشه که وقتی صفحه بعد از مقدار ثانیه مشخض شده رفرش میشه اون امتیاز رو بده ولی وقتی کسی صفحه رو با دست رفرش کرد اون امتیاز رو نده در ضمن تونستم کلید f5 رو هم غیر فعال کنم.
کد رفرش رو مثلا گذاشتم رو 30 ثانیه البته از پایگاه داده.


<?php
$timeout = config('min_timer');
settype($timeout, 'integer');
header("Refresh: {$timeout}; URL=http://www.example.ir");
?>

لطفا کمک کنید؟

plague
شنبه 20 خرداد 1396, 16:52 عصر
هنگام لود شدن صفحه زمانفعلی رو بریز تو یه سشن
وقتی رفرش شد صفحه اون سشن رو بخون و ببین چقد گزشته از اون زمان
اگه 30 ثانیه یا بیشتر بود امتیاز بهش بده
اگه کمتر بود نده

Ali110k
یک شنبه 21 خرداد 1396, 00:25 صبح
من تازه کارم کد این چیزهایی رو که گفتید رو بنویسد لطفا.

perkas
دوشنبه 22 خرداد 1396, 14:33 عصر
با این کد میتونی مدت زمان رفرش صفحه رو بدست بیاری ( بعدش خودت میتونی شرط بزاری که اگر بیشتر از nثانیه بود چه بکنه و چه نکنه




<?php

date_default_timezone_set('Europe/Lisbon');

session_start();

if(!isset($_SESSION["date"])){


$_SESSION['date'] = new DateTime( 'NOW' );


}
$date1 =$_SESSION['date'];

$date2 = new DateTime( 'NOW' );

$diffSeconds = $date2->getTimestamp() - $date1->getTimestamp();

$_SESSION['date'] = new DateTime( 'NOW' );




echo $diffSeconds;



?>

Ali110k
سه شنبه 23 خرداد 1396, 11:22 صبح
تشکر خیلی خیلی ممنون.
فقط یه مشکلی هست وقتی صفحه داره رفرش میشه اگه بدلیل کندی اینترنت یا حجیم بودن صفحه صفحه دیر رفرش بشه این کد اون زمان رو هم برای رفرش محاسبه میکنه.من میخوام دقیقا وقتی که کاربر در نوار آدرس اینتر زد و خواست زودتر از مقدار ثانیه ای که من قرار دادم صفحه رفرش بشه رو محاسبه کنه .
با این کد اگه مثلا زمان مورد قبول رو من بذارم 30 و کاربر در ثانیه 15 در نوار آدرس اینتر زد و خواست صفحه رو زودتر رفرش کنه و صفحه بخاطر کندی اینترنت 31 ثانیه طول کشید تا بالا بیاد ، این کد 31 رو محاسبه میکنه و امتیاز زو میده در صورتی که من میخوام 15 رو محاسبه کنه و امتیاز رو نده.یعنی دقیقا میخوام محاسبه کنه وقتی رو که صفحه میخواد بره برای رفرش شدن چه با اون زمانی که من برای رفرش صفحه قرار دادم(مثلا بعد 30 ثانیه صفحه بطور خودکار رفرش بشه) چه با اون زمانی که اینتر در نوار آدرس خورده میشه.

Ali110k
چهارشنبه 24 خرداد 1396, 22:49 عصر
جواب نگرفتم.
کمک لطفا.

perkas
پنج شنبه 25 خرداد 1396, 00:48 صبح
تشکر خیلی خیلی ممنون.
فقط یه مشکلی هست وقتی صفحه داره رفرش میشه اگه بدلیل کندی اینترنت یا حجیم بودن صفحه صفحه دیر رفرش بشه این کد اون زمان رو هم برای رفرش محاسبه میکنه.من میخوام دقیقا وقتی که کاربر در نوار آدرس اینتر زد و خواست زودتر از مقدار ثانیه ای که من قرار دادم صفحه رفرش بشه رو محاسبه کنه .
با این کد اگه مثلا زمان مورد قبول رو من بذارم 30 و کاربر در ثانیه 15 در نوار آدرس اینتر زد و خواست صفحه رو زودتر رفرش کنه و صفحه بخاطر کندی اینترنت 31 ثانیه طول کشید تا بالا بیاد ، این کد 31 رو محاسبه میکنه و امتیاز زو میده در صورتی که من میخوام 15 رو محاسبه کنه و امتیاز رو نده.یعنی دقیقا میخوام محاسبه کنه وقتی رو که صفحه میخواد بره برای رفرش شدن چه با اون زمانی که من برای رفرش صفحه قرار دادم(مثلا بعد 30 ثانیه صفحه بطور خودکار رفرش بشه) چه با اون زمانی که اینتر در نوار آدرس خورده میشه.

توی php هیچ کنترلی روی زمان سیستم کلاینت وجود نداره چون روی سرور اجرا میشن و برای اینن منظور احتمالا جاوا اسکریپت کارتون رو راه بندازه
ولی اگه دقیق بگین به چه منظوری میخواین این کار رو انجام بدین شاید راهکاری بشه داد

مثلا اگر برای دیدن آگهیه مثلا میشه یه چیزی شبیه لودینگ استفاده کرد و هروقت 100در100 شد اون موقه صفحه رفرش بشه

Ali110k
پنج شنبه 25 خرداد 1396, 04:16 صبح
توی php هیچ کنترلی روی زمان سیستم کلاینت وجود نداره چون روی سرور اجرا میشن و برای اینن منظور احتمالا جاوا اسکریپت کارتون رو راه بندازه
ولی اگه دقیق بگین به چه منظوری میخواین این کار رو انجام بدین شاید راهکاری بشه داد

مثلا اگر برای دیدن آگهیه مثلا میشه یه چیزی شبیه لودینگ استفاده کرد و هروقت 100در100 شد اون موقه صفحه رفرش بشه

با سورف آشنایی دارین ؟ یه چیز تو همون مایه های آگهیه.همین که میگین 100 در 100 رو کدش رو بدین یا اگه آشنایی دارین کد اونو بدین ولی من مطمئنم که با PHP هم میشه کد داد.

Ali110k
دوشنبه 29 خرداد 1396, 04:16 صبح
کمک دوستان کمک لطفا.

حسین_محسن
پنج شنبه 14 مهر 1401, 11:29 صبح
با این کد میتونی مدت زمان رفرش صفحه رو بدست بیاری ( بعدش خودت میتونی شرط بزاری که اگر بیشتر از nثانیه بود چه بکنه و چه نکنه




<?php




date_default_timezone_set('Europe/Lisbon');

session_start();

if(!isset($_SESSION["date"])){


$_SESSION['date'] = new DateTime( 'NOW' );


}
$date1 =$_SESSION['date'];

$date2 = new DateTime( 'NOW' );

$diffSeconds = $date2->getTimestamp() - $date1->getTimestamp();

$_SESSION['date'] = new DateTime( 'NOW' );




echo $diffSeconds;



?>




سلام این کد برا رفرش شدن خوبه ولی یه سؤال از شما دارم اگه بخوایم بجای رفرش زمانی که کاربر پنجره رو میبنده یا از صفحه خارج میشه رو بگیریم باید چه کنیم؟ من می خوام مدت زمان حضور کاربر درهر صفحه رو داشته باشم اگر امکان داره کد مربوطه رو بهم بگید یا راهنمایی کنید چه طور با php این کد رو بنویسم