繁体   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