Php 取消表单提交按钮

Php 取消表单提交按钮,php,html,Php,Html,您的方法无法工作,您只能编辑PHP脚本接收到的数据。如果用户刷新浏览器,那么它将再次提交相同的数据,PHP将用浏览器发送的数据填充新的$\u POST 如果要停止刷新重新提交数据,请使用。取消设置不会停止刷新,使其无法将发布的数据重放到脚本中。unset函数在该脚本的剩余执行中消除了它,但是刷新是一个新的执行 插入后,您只需将浏览器重新定向到条目页面,这样后续刷新就安全了 <body> <?php if(isset($_POST['vendor_add_submit']))

您的方法无法工作,您只能编辑PHP脚本接收到的数据。如果用户刷新浏览器,那么它将再次提交相同的数据,PHP将用浏览器发送的数据填充新的
$\u POST


如果要停止刷新重新提交数据,请使用。

取消设置不会停止刷新,使其无法将发布的数据重放到脚本中。unset函数在该脚本的剩余执行中消除了它,但是刷新是一个新的执行

插入后,您只需将浏览器重新定向到条目页面,这样后续刷新就安全了

<body>

<?php

if(isset($_POST['vendor_add_submit'])){

//INSERT INTO DB

unset(  $_POST['vendor_add_submit'] );
}

?>


<form method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>" >


<label>Email</label>
<input type="text" name="vendor_email" value="" />


<input type="submit" name="vendor_add_submit" value="SAVE" />


</form>
</body>

我相信还有其他方法可以做到这一点。

只会在服务器端删除$\u POST值,这意味着在一个请求中,PHP将无法看到或使用它(您删除了它)


但是您正在页面的HTML上呈现Submit按钮,因此每次有人访问页面并提交表单时,他们都会再次提交值。在当前请求中,您将再次为PHP删除它。因此,每个请求都会将数据插入数据库

您可能更希望查看而不是检查记录是否已经存在(或者用户是否已经有了记录,但不确定您想要什么),然后使用
header('Location:otherpage.php')将它们重定向到页面之外


希望这有帮助…

“因此,每次有人访问页面并提交表单时,他们都会再次提交值。”-如果有人单击“提交”按钮并提交数据,这没有问题。我只是想防止用户在第一次插入数据后刷新页面时向数据库插入相同的数据。如果取消设置$\u POST['vendor\u add\u submit']会删除其内容,那么在页面刷新时(而不是再次单击提交按钮),如何将相同的数据插入数据库?请参阅我在Johann du上的评论Toit@sof_user我得说,请看我答案的第一部分。unset()'ing$\u POST与刷新完全没有连接。刷新将导致浏览器调用该页面,并再次生成新填充的$u帖子。请按照我的建议添加重定向。我认为,javascript window.location=“somepage”比header('location:somepage.php')@Evolution 2舒适得多,好的,我会小心的。是的,这就是它的意思,为您的问题选择正确答案旁边的绿色复选标记。。查看您的个人资料以获取问题列表,大多数问题都没有公认的答案。
//INSERT INTO DB
//...
header('Location: samepage.php');
exit();