求助PHP倒计时程序

求助PHP倒计时程序,第1张

php部分,记录下提交订单时的时间戳,并以保存在数据库中;

$postdate = time()

当用户再次执行 *** 作的时候,判断 *** 是否在48小时内的有效 *** 作;

只需要比较,用户 *** 作时的时间戳和提交订单时间是否超过48小时即可;

$operatetime = time()

if( $operate - $postdate <48 ) {

echo "有效"

}else {

echo "无效"

}

根据你的提问,我已经回答完毕;但我觉得你的提问,嫌银可能不型者铅是想要这个答案;你可能需要的是,在页面上显示跳时,的这种倒计时效果;所以,我在补充一下;你觉得能用,你就用;

1.还是一样,记录提交订单时间戳到数据库 $postdate

2.当用户再次访问时的时间戳$nowtime = time()

这里可以通过这两个值,可以计算出,离48小时还有多少秒

$time = 48 * 3600 - ($nowtime - $postdate)

3.把$time传递给js采用 var t = <? echo $time ?>

4.写一个显示函数function showtime

5.每秒执卜好行一次.

6.大概代码

<div id="shower"></div>

<script type="text/javascript">

var t = <? echo $time ?>

var int =self.setInterval("showtime()",1)

function showtime(){

var hh = t / 3600

var mm = (t - hh * 3600)/60

var ss = t - hh * 3600 - mm * 60

var stringhh = hh <10 ? '0'+hh : hh

var stringmm = mm <10 ? '0'+mm : mm

var stringss = ss <10 ? '0'+ss : ss

document.getElementById('shower').innerHTml = stringhh + stringmm + stringss

t = t -1

}

</script>

这个可能要配合子框架和JS的功能来实现.

思路是:

1. 在主框架页面上,安排一个表单 + 一个文本框(设变量名为 end_time),用来设置时间(target 指向子框)(日期格式: 2009-05-28 12:00:00 )

2. 再插入一个对象用来显示剩余时间(可以是文本框,也可以是<span>标记,还可以是其它可以用JS替换内容的对象就可以了)(假设它的标记是<span id="timeout"></span>).

3. 在主框架上插埋首入一子框架,子框架的源文件指向php文件

4. 在PHP源文件中插入适当代码.代码的作用主要分几部分,

A.计算剩余时间

B.用于更新主页面的剩余时间对象的JS代码.

C.适当设置页面刷新的时间(用JS或刷页刷新代码)

部分代码:

1.主框架(index.php)

<form action="timer.php" method="post" name="form1" target="timerframe" id="form1">

<table border="0"弯滚数>

<tr>

<td>开始时间

<label></label></td>

<td><input name="end_time" type="text" id="end_time" value="<?php echo date("Y-m-d H:i:s")?>" /></td>

<td><label>

<input type="submit" name="Submit" value="提交" />

</label></td>

</tr>

</table>

<table width="400" border="0">

<tr>

<td></td>

</tr>

<备腔tr>

<td>离结束还有:<span class="STYLE1" id="timeout">aaaaa</span></td>

</tr>

</table>

</form>

<iframe name="timerframe" width="1" height="1"></iframe>

2.子框架(timer.php)

<body>

<?php

$endTime=strtotime($_REQUEST['end_time'])//将终止时间转为nix_timestamp格式

$now=time()//当前时间

//printf( "N:%s,\n<br>E:%s\n<br>",$now,$endTime)

if($now>=$endTime) //如果时间已过结束时间

{

?>

<script language="javascript">

var f=parent.document.getElementById("form1")

f.end_time.value='<?php echo date("Y-m-d H:i:s",$endTime+2*3600)?>'

f.submit()

</script>

<?php

exit

}

$timeLeft=$endTime-$now//计算剩余的秒数,并转换为对应的 时:分:秒 的格式

?>

<script language="javascript">

parent.document.getElementById("timeout").innerHTML='<?php echo date("H:i:s",$timeLeft-8*3600)?>'

function refresh()

{

var f=parent.document.getElementById("form1")

f.submit()

}

setTimeout("refresh()",5000)

</script>

</body>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12311386.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存