簡體   English   中英

如何運行查詢並重新加載頁面?

[英]How can I run query and reload page?

懷疑是下一個……

我有一個查詢,我想在進入頁面時創建一個查詢,以獲得一個 ID,我想輸入該 ID 以輸入記錄,這些記錄具有各自創建的每天唯一的 ID ...

執行問題的查詢是,一旦頁面被加載,它就會創建它,但要獲取 id,我必須再次刷新頁面並在我的輸入中獲取 id,我想看看創建查詢的方法,然后我的網站冷靜下來。

 $QueryLineAdd="INSERT INTO psb_smt.psb_info (linea, DateTime, EndDate) SELECT * FROM (SELECT '".$_GET['line']."', '".$StarDate." ".$TimeNow."', '".$EndDate." 06:39:00') AS tmp WHERE NOT EXISTS ( SELECT DateTime, EndDate, linea FROM psb_smt.psb_info WHERE linea = '".$_GET['line']."' AND DateTime >= '".$StarDate." 06:40:00' AND EndDate<='".$EndDate." 06:39:00' ) LIMIT 1"; $ResultLineAdd=mysqli_query($con,$QueryLineAdd);

如果我做對了,您正在執行的查詢會返回一些 id,比如說 NNN。 確保該頁面上沒有輸出,然后只執行標題位置:

header("Location: http://www.example.com/?id=NNN");

如果您在此之前有輸出,您將收到標題已發送警告,並且您將無法重定向。

您不會因為 ID 而刷新頁面。 您要么將其作為加密查詢字符串傳遞,例如https://example.com/somepage?id=AXYHNJK76PLOUY09YTTV4CDF,假設此處的 id 為 2,然后通過 $id = $_GET['id'] 獲取它。

或使用 Javascript 調用 API 來查詢您需要的內容。 使用此方法時,不要忘記采取所有安全措施。

在您的情況下:在 HTML 輸出之前運行查詢:

<?php
run query here
$queryResultId = your query that returns a result;
$encryptedId = encryptionfunction($queryResultId);
?>
<html>
<head>
</head>
<body>
<input type ="hidden" name="id_of_something" value="<?php echo 
$encryptedId; ?>" />
</body>
</html>

我不知道 ID 的用途,但請記住,您永遠不會將數據庫的 ID 暴露給 Internet。 至少你可以做的是用哈希和鹽加密它。

將 php 文件作為后端(不要將其用作頁面),在 html 中編寫頁面(可能使用一些 php 模板)然后從站點使用 js 調用函數,也不要連接非常不安全的查詢),使用來自 mysqli 的綁定或最好使用 pdo。

暫無
暫無

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

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