Php 创建数据库条目的页面(当它重新启动或转到它时)

Php 创建数据库条目的页面(当它重新启动或转到它时),php,mysql,Php,Mysql,在重新加载数据库条目或使用mysql查询时转到该条目时创建数据库条目的页面。我已经设置好了它,所以当你点击submit时,它会将数据插入数据库,但由于某种原因,在重新加载页面时,甚至当你转到它时,它会在不点击submit的情况下创建另一个数据库条目 <?php $con = mysql_connect("xxx","xxxx_user","xxx"); if (!$con) { die('Could not connect: ' . mysql_error()

在重新加载数据库条目或使用mysql查询时转到该条目时创建数据库条目的页面。我已经设置好了它,所以当你点击submit时,它会将数据插入数据库,但由于某种原因,在重新加载页面时,甚至当你转到它时,它会在不点击submit的情况下创建另一个数据库条目

<?php

    $con = mysql_connect("xxx","xxxx_user","xxx");
    if (!$con)
      {
die('Could not connect: ' . mysql_error());
  }

mysql_select_db("jjlliinn_test", $con);

$date = $_POST['date'];
$propertydescription = $_POST['propertydescription'];
$transactiontype = $_POST['transactiontype'];
$applicabledocument = "null";
$received = $_POST['received'];
$paid = $_POST['paid'];

$sql = mysql_query("INSERT INTO `transactions` (`date`, `agentclient`, `propertydescription`, `transactiontype`, `applicabledocument`, `received`, `paid`) 
VALUES
 ('$date', '$agentclient', '$propertydescription', '$transactiontype', '$applicabledocument', '$received', '$paid')") or die(mysql_error()); 
$query = mysql_query($sql);


mysql_close($con);
    ?>

我打赌您的代码在HTML
标记中。刷新/重新加载页面浏览器会触发表单再次提交

我建议在
mysql\u关闭($con)之后
,使用
标题()
并重定向到同一页面


看看这个。

第一次加载页面时发生这种情况的原因是您没有检查表单是否已提交。您只需自动插入数据库

要解决此问题,您需要检查表单提交。假设您使用的是POST,您可以将上述代码封装在if语句中,检查这是否是表单提交,如果是,则处理数据:

if ('POST' === $_SERVER['REQUEST_METHOD'])
{
    // your code goes here
}
当有人刷新页面时会发生这种情况的原因是由于上述原因,而且您也不会采取任何措施阻止浏览器再次提交表单数据,这通常是他们在请求页面时所做的。研究解决这个问题的方法


。它们不再得到维护。看到了吗?相反,学习,并使用,或-将帮助您决定哪一个。如果您选择PDO。您也非常愿意接受

是的,我知道您关于sql注入的意思,但这只是一个小脚本,不会用于任何大的用途。