如果不是一个页面,而是只有两个页面A和B,这两个页面可以用超链接相互切换,但是记录这两个页面的总时间,到时间后跳转到另外页面C,这该如何实现呢?
用JavaScript在AB两个页面中setTimeout的话,每次换到另外页面总会重新计时的,不知道用php能不能实现,求高手赐教
用JavaScript在AB两个页面中setTimeout的话,每次换到另外页面总会重新计时的,不知道用php能不能实现,求高手赐教
解决方案 »
- web开发中,用PHP开发群发系统消息怎么做好点
- smarty 缓存控制问题 register_function
- 请问PHP如何处理这样的情况?
- 怎么把时间最新的显示出来?
- 请问一下有没有php的程序能在线解压tgz格式的压缩文件的?
- 给分喽~~~~哈哈
- 横向排列问题-续上贴,解决给200分
- 有谁知道php怎么和注册表联系起来 听说 冰冰的 iNews 就有一个注册表文件,没有那个文件程序运行出错。
- 求《php程序设计导学》附带光盘
- 在HTML的表格中显示数据库的数据信息
- Can't create/write to file 'C:\WINDOWS\TEMP\#sql_d98_0.MYD' (Errcode: 17)
- 40多K PHP实现 ORM 数据库类
两个页面互换的链接使用JAVASCRIPT来控制,链接调用一个JS函数,比如timer()函数。
两个页面中都拥有一个记录总时间的JS变量,设为timeAll变量。当进行跳转的时候在timer函数中将此页面的逗留时间,加上timeAll变量的值作为timeAll变量的最终值,并将timeAll变量使用GET方法传递到另一页面(当然是使用JS的timer函数进行跳转)。
进入下一个页面后再次进行计时,使用PHP来动态初始化JS变量,var timeAll=<?php echo $_GET['timeAll']?>;这样就保存了上一个页面停留的时间(两个页面均需要这样做,真正初始化时需要判断$_GET['timeAll']变量是否存在,不存在需要将timeAll变量初始化为0)。
再次跳转重复这些操作即可。
在timer函数中,每经过一秒,将临时计时变量加1,并判断是否达到时限,如果达到那么跳转到C页面就可以了。
<script language="JavaScript" type="text/javascript">
function gotopage()
{
window.location.replace("C.php")
}function UserLogoIn()
{
logoin=new Date();
<?
if(!isset($_GET["t"])){
?>
var timeAll=0;
<? }
else{
$t=$_GET["t"];
?>
timeAll=timeAll + <?=$t ?>;
<? }?>
setTimeout("gotopage()",60000-timeAll)
}
function h(){
logoout=new Date();
t_add=Math.round((logoout.getTime()-logoin.getTime()));
window.location.replace("页面A或B.php?t=" + t_add)
}
</script>
下面的代码是<body onLoad="UserLogoIn()">
AB页面切换点击时onclick="h()"这样试图实现在两个页面中的总时间为1分钟时,换到C.php
但是一直报错,说timeAll没有定义,这是什么原因,不知道哪里需要修改呢?谢谢!
其次,你的timeAll变量没有在两个页面间进行传递。要进行timeAll就相当于一个口袋,要时刻带着
<script language="JavaScript" type="text/javascript">
function gotopage()
{
window.location.replace("C.php")
}
var timeAll=<?=$_GET['timeAll']?intval($_GET['timeAll']):0?>;//定义成全局变量
function UserLogoIn()
{
logoin=new Date();
<?
if(isset($_GET["t"])){
$t=$_GET["t"];
}else{
$t=0;
}
?>
timeAll=timeAll+<?=$t ?>;
<? }?>
setTimeout("gotopage()",60000-timeAll)
}
function h(){
logoout=new Date();
t_add=Math.round((logoout.getTime()-logoin.getTime()));
window.location.replace("页面A或B.php?timeAll="+timeAll"&t=" + t_add)
}
</script>
实在不知道哪里出问题哦