[英]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.