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 に答える