簡體   English   中英

通過window.location.href將javascript var傳遞給php

[英]pass javascript var to php with window.location.href

我正在建立一個運行倒數計時器(10分鍾為零)的網站。 當按下“啟動計時器”時,計時器消失。 當按“重置”時,計時器返回到10分鍾,最后一次測量的時間保存在een數據庫中並在php中使用。 但是從javascript到php無法正常工作。 (這是新功能,兩個php en 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時,這是我在de timer停止運行時在URL上獲得的內容:

https://192.168.7.2/timer.php?waarde=9:57

但是當我想從php打印時,它會打印notting

從您發布的代碼來看,加載頁面時似乎未調用php_getJavascript函數。 因此,您的數據將不會顯示。

如果我正確理解了您要執行的操作,則應該可以通過將printLogs更改為printLogs來將數據傳遞給setText

function printLogs() {
    var print = <?php echo json_encode($_GET['waarde']) ?>;
    setText(print);
}

您還應該刪除php_getJavascript函數,它不會執行您想要的操作-它會從請求中輸出裸數據,這在大多數情況下會導致語法錯誤,如果您要將代碼發布到某個地方也不安全。

如果那沒有幫助,則可以通過查看頁面源(CTRL + U)或使用開發人員工具(F12)來調試此問題。 這樣,您應該能夠看到您在JavaScript中所做的工作如何影響PHP,反之亦然。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM