我正在建立一个运行倒数计时器(10分钟为零)的网站。当按下“启动计时器”时,计时器消失。当按“重置”时,计时器返回到10分钟,最后一次测量的时间保存在een数据库中并在php中使用。但是从javascript到php无法正常工作。 (这是新功能,两个php javascript都位于同一文件中)
调用数据库没问题,它向数据库发送新数据是有问题的 我正在尝试通过window.location.href传递var,但它会打印出来。我尝试使用cookie,但是也失败了(技能差)。
-----------alle in the file timer.php--------
<?php
//random code
function php_getJavascript(){
if(!empty($_GET['waarde'])){
echo $_GET['waarde'];
}
}
//random code
?>
<html>
<title>Countdown</title>
<body>
<div id="control">
<button onclick="startTimer()">Start timer</button>
<button onclick="resetTimer()">Reset</button>
<button onclick="printLogs()">PrintLogs</button>
</div>
<div id="timer"></div>
<script>
var endTime = 0;
var tijd = new String("10:00");
setText('10:00');
//random code
function resetTimer() {
setText('10:00');
window.location.href='timer.php?waarde='+tijd;
endTime=0
}
function printLogs() {
var print = "<php php_getJavascript();?>";
//var print = "<?php php_printFunc();?>";
setText(print);
}
//random code
</script>
</body>
</html>
输出数据库(用于查看数据库是否工作的预设数据):
id-1-Datum-2019-05-06 17:03:48-Tijd-9m50s
id-2-Datum-2019-05-06 17:03:55-Tijd-9m38s
id-3-Datum-2019-05-06 17:04:02-Tijd-6m44s
id-4-Datum-2019-05-06 17:04:21-Tijd-6m59s
id-5-Datum-2019-05-06 17:04:25-Tijd-1m59s
但是尝试将数据发送到php时 这是我在计时器停止运行时在我的网址上看到的内容:
https://192.168.7.2/timer.php?waarde=9:57
但是当我想从php打印时,它会打印出提示
答案 0 :(得分:0)
从您发布的代码来看,加载页面时似乎未调用php_getJavascript
函数。因此,您的数据将不会显示。
答案 1 :(得分:0)
如果我正确理解了您要执行的操作,则应该可以通过将setText
更改为以下内容来将数据传递到printLogs
:
function printLogs() {
var print = <?php echo json_encode($_GET['waarde']) ?>;
setText(print);
}
您还应该删除php_getJavascript
函数,它没有达到您的预期目的-它从请求中输出裸数据,这在大多数情况下会导致语法错误,在您想要的情况下也不安全将代码发布到某个地方。
如果这没有帮助,则可以通过查看页面源(CTRL + U)或使用开发人员工具(F12)来调试此问题。通过这种方式,您应该能够看到您在JavaScript中所做的工作如何影响PHP,反之亦然。