Php 如何在cookies中创建计时器?
我有一个包含5个子页面的页面(每个页面都有一个不同的页面链接),我试图做的是创建一个计时器来计算用户在电话上花费的秒数 比如说Php 如何在cookies中创建计时器?,php,jquery,cookies,timer,stopwatch,Php,Jquery,Cookies,Timer,Stopwatch,我有一个包含5个子页面的页面(每个页面都有一个不同的页面链接),我试图做的是创建一个计时器来计算用户在电话上花费的秒数 比如说 main.php << the landing page tab1.php << additional tab tab2.php << additional tab tab3.php << additional tab tab4.php << additional tab main.php您可以在c
main.php << the landing page
tab1.php << additional tab
tab2.php << additional tab
tab3.php << additional tab
tab4.php << additional tab
main.php您可以在cookie中存储开始时间,并在清除它之前读取结束时间。或者使用会话来执行此操作
if(!isset($_SESSION['start'] ))$_SESSION['start'] = time(); //on your landing page
$time_spent = time()-$_SESSION['start']; //on your tabs
您可能正在寻找一种使用Javascript设置cookie的方法。如果确实需要,可以每秒调用createCookie()
。您还必须跟踪开始时间,以获得在页面上花费的实际时间。但这只是为了帮助你走上正轨。无论如何,肯定有更好的方法。听听其他的评论
var unixTimestamp = Math.round(new Date().getTime() / 1000);
window.setInterval("createCookie('myCookie', unixTimestamp)", 1000);
function createCookie(c_name, value) {
var expires = "";
document.cookie = c_name + "=" + value + expires + "; path=/";
}
function getCookie(c_name) {
if (document.cookie.length > 0) {
c_start = document.cookie.indexOf(c_name + "=");
if (c_start != -1) {
c_start = c_start + c_name.length + 1;
c_end = document.cookie.indexOf(";", c_start);
if (c_end == -1) {
c_end = document.cookie.length;
}
return unescape(document.cookie.substring(c_start, c_end));
}
}
return "";
}
正如在上讨论和发布的那样,您是否尝试过执行此功能?您遇到的具体问题是什么(即,您是否需要知道如何使用javascript编写cookie?)您是否希望区分用户在每个页面上的时间?或者你只是想知道从第一次点击登录页到最后一页结束需要多长时间?将开始时间存储在cookie中,然后当你想知道它已经运行了多长时间时,将当前时间与开始时间进行比较。我遇到的问题是在cookie中保留一个活动计数器。所以每过一秒,我都需要把它存储到一个cookie变量中,这样我就可以在需要的时候检索它。谢谢你的代码。这段代码检查会话是否存在,但它没有告诉我如何保持计时器运行。您的javascript计数器有一个startAt参数。您可以使用它在时间$time\u花费的时间开始<代码>回显“$”(\”#runner\).runner({倒计时:true,startAt:$花费的时间,
。注意startAt是以毫秒为单位的,所以使用[microtime]是的,我知道这一点。但我遇到的困难是让计数器在cookie中运行,而不是在div中。我需要知道如何在每个seacondsetCookie中重新分配cookie值('timespent',0365);window.setInterval(function(){setCookie('timespent',parseInt(getCookie('timespent'))+1365)},1000);
并从b.e.使用set/get cookie。[javascript cookie]