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

时间:2016-05-09 20:32:21

标签: php

美好的一天,

虽然我是一名老程序员,但我是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将数据传送到服务器

有人可以帮我吗?

非常感谢

1 个答案:

答案 0 :(得分:0)

使用原生html <form action="form.php">方式时,您无法阻止这种情况,但有一种解决方法。完成表单后,您可以使用header()重定向到另一个页面(甚至是相同的),使用GET-Redirection-Code(参见wikipedia)。

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

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