如何防止php代码在加载页面时运行


how to prevent php code to run when loading a page

你好,

虽然我是一个老程序员,但我是php的新手,所以我需要帮助。

上下文1.我有一个带有更新按钮的提交表格。2.我有php代码可以在MySQL数据库中插入记录。

问题1.当我第一次启动页面时,php代码会运行。2.当我刷新页面时,php代码再次运行。

代码

<!-- Button definition -->  
<input id="submit" type="submit" class="button" name="submit" value="submit"     onclick="Update_MySQL()" /> 
<!-- Function to be executed by the onclick --> 
<script>
<?php 
function Update_MySQL() {
if(isset($_POST['submit'])) 
{
$sql = "MYSQL UPDATE STRING" ;
$MY_CONNECTION->query($sql) ; 
}
}   
?>
</script>

我所知道的1.PHP在服务器上运行,javascript在浏览器(客户端)上运行2.PHP在页面启动或刷新时向服务器发送数据

有人能帮我吗?

非常感谢

使用本机html <form action="form.php">方式时无法防止这种情况,但有一种方法可以解决。处理完表单后,您可以使用header()重定向到另一个带有GET重定向代码的页面(甚至相同的页面)(请参阅维基百科)。

if (isset($_POST['field'])) {
    // progress data
    header('HTTP/1.1 303 See Other');
    header('Location: '.$_SERVER['PHP_SELF']);
    exit;
}

另一种完全不同但同样有效的方法是使用javascript提交表单数据。