0

我对 php 相当陌生,但我知道我的方法,并且我对这个问题做了很多研究,但仍然找不到正确的解决方案。这是我的php代码:

    <html>
    <head>
    <body>
    <form action="default.php" method="POST">
    <input type="text" name="hname">
    <input type="submit" name="submit" value="Submit">
    </form>
    <?php
    require("connect.php");
    $con = mysql_connect("mysql10.000webhost.com","$username","$password");
    $pname=$_POST[hname];
    mysql_query("INSERT INTO web_members(name) VALUES('$pname')");
    $result = mysql_query("SELECT * FROM web_members");
    while($row = mysql_fetch_array($result))
    {
    echo $row['name'];
    echo "<br />";
    }

    ?>

基本上它会很好地添加并显示变量,但是每当我刷新页面时,它都会重复该过程。有人能帮忙吗?

4

2 回答 2

1

使用如下代码

<?php
require("connect.php");
$con = mysql_connect("mysql10.000webhost.com","$username","$password");
if(isset($_POST[hname]))
{
   $pname=$_POST[hname];
   mysql_query("INSERT INTO web_members(name) VALUES('$pname')");
   header("location:default.php");
}
else
{
   $result = mysql_query("SELECT * FROM web_members");
   while($row = mysql_fetch_array($result))
   {
      echo $row['name'];
      echo "<br />";
   }
}

?>

希望它会帮助你。谢谢。

于 2013-02-08T06:09:07.113 回答
0

为此,您需要使用POST/REDIRECT/GET 模式。它可以防止表单重新提交。

于 2013-02-08T06:05:54.143 回答