Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MySQL数据库中存储秒表Javascript中的时间_Javascript_Php_Mysql - Fatal编程技术网

在MySQL数据库中存储秒表Javascript中的时间

在MySQL数据库中存储秒表Javascript中的时间,javascript,php,mysql,Javascript,Php,Mysql,我正在使用javascript启动和停止计时器(秒表)。 我想要的是,当用户按下停止按钮时,数据(当时的时间)将存储在我的MySQL数据库中。可能吗?如果是,我需要添加什么作为代码?(我只是一个PHP初学者,如果有人能添加一个小的解释,那就太好了,我可以从中学习) 以下脚本是我的工作javascript代码: var clsStopwatch = function () { var startAt = 0; var lapTime = 0; var now = function () {

我正在使用javascript启动和停止计时器(秒表)。 我想要的是,当用户按下停止按钮时,数据(当时的时间)将存储在我的MySQL数据库中。可能吗?如果是,我需要添加什么作为代码?(我只是一个PHP初学者,如果有人能添加一个小的解释,那就太好了,我可以从中学习)

以下脚本是我的工作javascript代码:

var clsStopwatch = function () {

var startAt = 0;
var lapTime = 0;

var now = function () {
    return (new Date()).getTime();
};

this.start = function () {
    startAt = startAt ? startAt : now();
};

this.stop = function () {
    lapTime = startAt ? lapTime + now() - startAt : lapTime;
    startAt = 0;
};

this.time = function () {
    return lapTime + (startAt ? now() - startAt : 0);
};
};

var x = new clsStopwatch();
var $time;
var clocktimer;

function pad(num, size) {
var s = "0000" + num;
return s.substr(s.length - size);
}

function formatTime(time) {
var h = m = s = ms = 0;
var newTime = '';

m = Math.floor(time / (60 * 1000));
time = time % (60 * 1000);
s = Math.floor(time / 1000);
ms = time % 1000;

newTime = pad(m, 2) + ':' + pad(s, 2) + ':' + pad(ms, 2);
return newTime;
}

function show() {
$time = document.getElementById('time');
update();
}

function update() {
$time.innerHTML = formatTime(x.time());
}

function start() {
clocktimer = setInterval("update()", 1);
x.start();
}

function stop() {
x.stop();
clearInterval(clocktimer);
}
接下来是我用来在数据库中存储数据的PHP代码,它位于单独的页面上

define('DB_NAME', 'dbname');
define('DB_USER', 'user');
define('DB_PASSWORD', 'pass');
define('DB_HOST', 'host');

$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);

if (!$link) { die('could not connect: ' . mysql_error()); }

$db_selected = mysql_select_db(DB_NAME, $link);

if (!$db_selected) { die('can not use ' . DB_NAME . ': ' . mysql_error()); }

$sql="INSERT INTO game (name, company, email, time) VALUES
    ('".$_POST['name']."','".$_POST['company']."','".$_POST['email']."','".$_POST['time']."')";

if (!mysql_query($sql)) { die('Error: ' . mysql_error()); }

mysql_close();
和我的HTML提交表格:

<body onload="show();">

<form action="highscore.php" method="post"/>

name:<br/>
<input type="text" name="name"/><br/>

company:<br/>
<input type="text" name="company"/><br/>

email:<br/>
<input type="text" name="email"/><br/>

Time: <span id="time"></span><br/>
<!--<input type="text" name-"time">-->
<input type="button" value="start" onclick="start();">
<input type="submit" value="stop" onclick="stop();">
<br/><br/>

</form>

</body>

名称:

公司:

电子邮件:

时间:


也许一个解决方案是将数据发布到一个隐藏的输入字段中,但我仍在努力使该字段正常工作。

尝试以下方法:

function stop() {
x.stop();
document.getElementById('counter').value = formatTime(x.time());
clearInterval(clocktimer);
}
在您的表格上:

<input type="hidden" value="" id="counter" name="counter" />


使用MySQLi而不是MySQL,因为MySQL存在一些严重的安全问题

谢谢Robert!这更近了一步,但目前它只在数据库中存储了一个“1”,不管我等了多久。。这是javascript吗?