通过php通过html表单在数据库中插入值的查询或解决方案是什么,但是每次我刷新页面时,前面插入的值会再次被插入?
if (isset($_POST["insert1"])) {
$inrtno = $_POST["inrouteno"];
$instp = $_POST["instop"];
if ($inrtno !=''||$instp !='') {
$query = mysqli_query($datacon,"REPLACE INTO `stops`(`sn`, `routeno`, `stop`) VALUES ('NULL','$inrtno','$instp')");
echo "<script type='text/javascript'>alert('Insertion Successful !!!')</script>";
} else {
echo "<p>Insertion Failed <br/> Some Fields are Blank....!!</p>";
}
}
3条答案
按热度按时间km0tfn4u1#
每当您刷新页面时,您都在重新提交post变量,因此php仍然运行。此外,您的查询还有sql注入的危险。考虑使用pdo。
yzuktlbb2#
重新加载页面时,浏览器会要求您重新提交请求,因此值会再次传输。因此,在插入数据时设置一个条件,以检查记录是否已经存在。
zyfwsgd63#
如前所述(我个人理解),每次刷新页面时,都会再次发送请求。请注意,我忘了,谢谢你@adyson。
因此,一个解决方案是在插入之后将用户重定向到相同的表单。
假设此文件为test.php,例如: