通过window.location.href将javascript var传递给php

时间:2019-05-17 19:33:10

标签: javascript php

我正在建立一个运行倒数计时器(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打印时,它会打印出提示

2 个答案:

答案 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,反之亦然。