Таймер

Streleca

Registered
Как мога да направя брояч с php и който нали като стигне до 00:00 да прави някакво действие , ако може броячът да прои без да трябва да се решфрешва страницата
 
Код:
<html>
<TITLE>Countdown by jooorooo</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<SCRIPT LANGUAGE="JavaScript">

</script>

<BODY>
<script type="text/javascript">
window.onload = function() 
{
resultbat('battle1','1205142800','http://webjo-bg.com');
resultbat('battle2','1204631100','http://webjo-bg.com');
}
</script>

<span id="battle1"></span>
<br>
<span id="battle2"></span>

</body>

</html>

resultbat('battle1','1205142800','http://webjo-bg.com');

Червеното е полето където да се показва резултата <span id="battle1"></span>. Зеленото е крайната дата/час в уникс формат, а синьото е така написах линк, няма го във функцията, можеш да си сложиш да праща примерно към някакъв линк след края на броенето примерно document.getElementById(id).innerHTML = 'Вече свърши броенето!'; го заестваш с пренасочване. може и функция друга да си добавиш която извършва дадено деиствие. в случая след края на броенето се изписва
Вече свърши броенето!
 
ето виж какво се получи на демото:

Код:
1 7:20:2
Вече свърши броенето!

+ т'ва не искам с jS защото изобщо не го разбирам може ли нещо с пхп
 
Streleca каза:
ето виж какво се получи на демото:

Код:
1 7:20:2
Вече свърши броенето!

+ т'ва не искам с jS защото изобщо не го разбирам може ли нещо с пхп

Пробвай това ->
Код:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<font face="Comic Sans MS">
<font color="#999999">
<div align="center">
<font size="+1">
      <script type="text/javascript">
         var minute = 100;  
         var hour = minute * 100; 
         var obj4,obj5,obj6 = null;
         
         function toFixFormat(sender)
         {
            return (sender < 1) ? '0' + sender : sender;
         }
         
         function calculateTime(phpTime, obj)
         {
            var curTime = phpTime;
            var hours = Math.floor(curTime / hour);
            if (hours < 0)
            {
  obj.innerHTML = '<a href=http://forevermu.no-ip.org/muweb/gallery/ target="_blank">The 30 secunts is Finished</a>'; //tyk e link-a i imeto
               return;
            }
            curTime -= hours * hour;
             
            var minutes = Math.floor(curTime / minute);
               curTime -= minutes * minute;
            var seconds = Math.floor(curTime);
             
            obj.innerHTML =
               toFixFormat(hours)
               + ':' + toFixFormat(minutes)
               + ':' + toFixFormat(seconds);

         window.setTimeout(
            function() {
               calculateTime(phpTime - 10, obj);
            }, 5 //skorosta 1000 e normalno
         );
         }
         
         window.onload = function()
         {
            obj4 = document.getElementById('vreme_4');
            obj5 = document.getElementById('vreme_5');
            obj6 = document.getElementById('vreme_6');
            calculateTime(3000,obj4);
            calculateTime(3000,obj5);
            calculateTime(3000,obj6);
         }
      </script> 
      <span id="vreme_4"></span>
</font>
</font>
</font>
</div>
</head>
</html>

DeMo
 
става ама то ги брои много бързо пък и казах,че искам пхп джава скрипт не разбирам
 
По същия начин делиш като Math.floor в PHP e само floor а Math.ceil е само ceil и при return не трябва да ги свързваш с +

Код:
$vreme = time()+600; //за 10 мин примерно
$vremesega = time();

$time = $vreme - $vremesega;

$minute = $time/60;
$second = $time%60;
$hour = $minute/60;

$minute = floor($minute%60);
$days = floor($hour/24);
$hour = floor($hour%24);

$days = ($days) ? $days." " : " ";

if($days <= 0)
{
      echo "Броенето свършиии!";
}
else
{
     echo $days.$hour.":".$minute.":".$second;
}

Нещо такова трябва да се получи
 
изписва ми е

Код:
Броенето свършиии!
 
jooorooo каза:
с пхп без рефреш е невъзможно да стане.

еми добре дай с решфреш пак като понауча JS ще го сменя ;)
 
Ами просто трябва да проверява секудните т.е. го направи if($second <= 0)
И както каза жоро без рефреш неможе или с JS или с PHP+Ajax


Аз съм ти дал код просто замени това което ти казах
 
relax каза:
Ами просто трябва да проверява секудните т.е. го направи if($second <= 0)
И както каза жоро без рефреш неможе или с JS или с PHP+Ajax


Аз съм ти дал код просто замени това което ти казах

пак не стаа
 
Така значи $vreme трябва да го запаметиш в база данни и това пак го променяш на if($time <= 0)
 
Код:
         window.setTimeout(
            function() {
               calculateTime(phpTime - 10, obj);
            }, 5 //skorosta 1000 e normalno
         );
         }

ПОПРИНЦИП Е php виж сам -->
DeMo
 
Stifi каза:
Код:
         window.setTimeout(
            function() {
               calculateTime(phpTime - 10, obj);
            }, 5 //skorosta 1000 e normalno
         );
         }

ПОПРИНЦИП Е php виж сам -->
DeMo
Само не разбрах този код къде/как/защо? :oops:
Иначе по демото си личи че е супер... :D
ПЛС хелп? :)
 
Изобщо не е това, което търся + т'ва като дам решфреш на страницата то почва от начало, а аз не искам така. Никой не може да ми помогне
 
? това измъдрих забързо:

Код:
<?
session_start();

$vreme_sekundi = 500;

if(!isset($_SESSION['time']) || (int)$_GET['time'] == 1) {
	$_SESSION['time'] = mktime() + $vreme_sekundi;
	header("Location: broqch.php");
	die;
}

$t1 = $_SESSION['time'];
$t2 = mktime();
$raz = $t1 - $t2;

?>
<div><a href="broqch.php?time=1">otnachalo za <?=$vreme_sekundi?> sekundi.</a></div>
<div id="vreme">....</div>
<script type="text/javascript">
var kolko = <?=$raz;?>;

function broqch(){
	var vreme = document.getElementById('vreme');
	var date1 = new Date();
	var date2 = new Date();
	var temp_kolko = kolko;
	var sekunda = temp_kolko - Math.round((date2.getTime() - date2.getTime()) / 1000);
	var minuta = 0;
	var chas = 0;
	if(sekunda < 0) {
		vreme.innerHTML="<a href='broqch.php'>svarshi</a>";
	} else {
		if(sekunda>59) {minuta = Math.floor(sekunda/60);sekunda = sekunda - minuta*60;}
		if(minuta>59) {chas = Math.floor(minuta/60);minuta = minuta - chas*60;}
		if(sekunda<10) {sekunda = "0" + sekunda;}
		if(minuta<10) {minuta = "0" + minuta;}
		vreme.innerHTML = chas + ":" + minuta + ":" + sekunda;
	}
	kolko--;
	window.setTimeout("broqch();", 999);
}

broqch();
</script>
 
lortnoc каза:
? това измъдрих забързо:

Код:
<?
session_start();

$vreme_sekundi = 500;

if(!isset($_SESSION['time']) || (int)$_GET['time'] == 1) {
	$_SESSION['time'] = mktime() + $vreme_sekundi;
	header("Location: broqch.php");
	die;
}

$t1 = $_SESSION['time'];
$t2 = mktime();
$raz = $t1 - $t2;

?>
<div><a href="broqch.php?time=1">otnachalo za <?=$vreme_sekundi?> sekundi.</a></div>
<div id="vreme">....</div>
<script type="text/javascript">
var kolko = <?=$raz;?>;

function broqch(){
	var vreme = document.getElementById('vreme');
	var date1 = new Date();
	var date2 = new Date();
	var temp_kolko = kolko;
	var sekunda = temp_kolko - Math.round((date2.getTime() - date2.getTime()) / 1000);
	var minuta = 0;
	var chas = 0;
	if(sekunda < 0) {
		vreme.innerHTML="<a href='broqch.php'>svarshi</a>";
	} else {
		if(sekunda>59) {minuta = Math.floor(sekunda/60);sekunda = sekunda - minuta*60;}
		if(minuta>59) {chas = Math.floor(minuta/60);minuta = minuta - chas*60;}
		if(sekunda<10) {sekunda = "0" + sekunda;}
		if(minuta<10) {minuta = "0" + minuta;}
		vreme.innerHTML = chas + ":" + minuta + ":" + sekunda;
	}
	kolko--;
	window.setTimeout("broqch();", 999);
}

broqch();
</script>

demo: http://rpg.bglancer.com/tutorials/broqch.php

мерси много +1
 
lortnoc каза:
? това измъдрих забързо:

Код:
<?
session_start();

$vreme_sekundi = 500;

if(!isset($_SESSION['time']) || (int)$_GET['time'] == 1) {
	$_SESSION['time'] = mktime() + $vreme_sekundi;
	header("Location: broqch.php");
	die;
}

$t1 = $_SESSION['time'];
$t2 = mktime();
$raz = $t1 - $t2;

?>
<div><a href="broqch.php?time=1">otnachalo za <?=$vreme_sekundi?> sekundi.</a></div>
<div id="vreme">....</div>
<script type="text/javascript">
var kolko = <?=$raz;?>;

function broqch(){
	var vreme = document.getElementById('vreme');
	var date1 = new Date();
	var date2 = new Date();
	var temp_kolko = kolko;
	var sekunda = temp_kolko - Math.round((date2.getTime() - date2.getTime()) / 1000);
	var minuta = 0;
	var chas = 0;
	if(sekunda < 0) {
		vreme.innerHTML="<a href='broqch.php'>svarshi</a>";
	} else {
		if(sekunda>59) {minuta = Math.floor(sekunda/60);sekunda = sekunda - minuta*60;}
		if(minuta>59) {chas = Math.floor(minuta/60);minuta = minuta - chas*60;}
		if(sekunda<10) {sekunda = "0" + sekunda;}
		if(minuta<10) {minuta = "0" + minuta;}
		vreme.innerHTML = chas + ":" + minuta + ":" + sekunda;
	}
	kolko--;
	window.setTimeout("broqch();", 999);
}

broqch();
</script>

demo: http://rpg.bglancer.com/tutorials/broqch.php

Ако ти си го измъдрил наистина е много хубаво браво
 
ChesteR каза:
При мен не работи ?! :oops:

еми аз му казах да го направи така че само при мен да работи :D :D :D еми нз що не работи
 

Back
Горе