这是代码。我正在尝试为用户创建一个表单,以填写他们将在网站的index.php表单上做广告的产品。此页面将每分钟从元标记定义刷新(如果您有实时验证和更新的解决方案,请 我将非常感激)。 主要问题是无论何时发布表单,它都会不断插入MySQL数据库 每次刷新页面后,这就是我想要防止的。 谢谢,任何其他提案将受到高度欢迎
<html>
<body>
<form action='' method='POST' name=''>
Name: <input type='text' name='name' value='' />
Price: <input type='text' name='price' value='' />
<input type='submit' name='submit' value='validate' />
</form>
<?php
if (isset($_POST['submit'])){
$name=$_POST['name'];
$price=$_POST['price'];
$sql="INSERT INTO tbl VALUES('','"$name"','"$price"')";
// and so on
}
?>
</form>
</body>
</html>
答案 0 :(得分:0)
这可以通过会话或通过检查数据库中的重复条目来完成,但是,如评论部分所述,对另一个页面的重新直接解决方案可以作为快速修复服务器,如果查询成功< / p>
$sql="INSERT INTO tbl VALUES('','"$name"','"$price"')";
if($sql){
header('Location: foo.php');
}
并且,在foo.php
中,您可以编写以下内容
if($_SERVER['HTTP_REFERER']){
$page = $_SERVER['HTTP_REFERER'];
header("Location: $page");
exit();
}
即使$_SERVER
变量不是100%可靠,但在这种方法中,每次在数据库中提交数据时,它都会重定向到另一个页面,因此它将按您的意愿运行。
答案 1 :(得分:0)
它的发生是因为提交$_POST['submit']
后,每次刷新if (isset($_POST['submit'])
后都会返回true,并且每隔一分钟就会插入一次数据,因为您正在从meta刷新该页面。
header('Location: index.php');
?>
醇>