数据插入数据库后如何启动秒表?

时间:2017-03-17 21:01:16

标签: javascript php mysql

我有一个可以自行运行的秒表代码。我试图在用户打孔后启动并显示它,以便计算工作时间并在用户打卡时停止工作。我想使用该数据然后插入数据库。我该怎么做呢?

 <?php if($timedata['is_clocked_in'] === 'Yes'):?>
    <h5 style="text-transform: uppercase" class="alert alert-info col-md-4">You Are Clocked In : (time count) </h5>
     <?php elseif($timedata['is_clocked_in'] === 'No'):?>
<button><i class="fa fa-plus" aria-hidden="true"></i> Punch In Now</button>
     <?php endif;?>

标记

<h1><time>00:00:00</time></h1>
<button id="start">start</button>
<button id="stop">stop</button>
<button id="clear">clear</button>

脚本

var h1 = document.getElementsByTagName('h1')[0],
    start = document.getElementById('start'),
    stop = document.getElementById('stop'),
    clear = document.getElementById('clear'),
    seconds = 0, minutes = 0, hours = 0,
    t;

function add() {
    seconds++;
    if (seconds >= 60) {
        seconds = 0;
        minutes++;
        if (minutes >= 60) {
            minutes = 0;
            hours++;
        }
    }

    h1.textContent = (hours ? (hours > 9 ? hours : "0" + hours) : "00") + ":" + (minutes ? (minutes > 9 ? minutes : "0" + minutes) : "00") + ":" + (seconds > 9 ? seconds : "0" + seconds);

    timer();
}
function timer() {
    t = setTimeout(add, 1000);
}
timer();


/* Start button */
start.onclick = timer;

/* Stop button */
stop.onclick = function() {
    clearTimeout(t);
}

/* Clear button */
clear.onclick = function() {
    h1.textContent = "00:00:00";
    seconds = 0; minutes = 0; hours = 0;
}

2 个答案:

答案 0 :(得分:-1)

请勿使用Javascript的setTimeout()函数计算秒数。

我可以想到很多原因,但有两个重要的原因是:

  • 可靠性:您完全依赖于访问者浏览器中的处理。
  • 安全性:访问者可以轻松操作您的代码。

您可以访问PHP,PHP可以访问服务器的时钟。用那个。见:

http://nl1.php.net/manual/en/function.time.php

如果必须使用Javascript,则使用日期对象;

https://www.w3schools.com/jsref/jsref_obj_date.asp

您可以通过在开始时存储时间来获得秒数,然后从停止时间中减去它。

timePassed = stopTime - startTime

答案 1 :(得分:-1)

你可以通过ajax实现它。

刚开始发送请求并在成功状态下调用stop方法。