ここにこのコードがあります。データベースにデータを正常に挿入しますが、ブラウザーを更新するたびに、ブラウザーから次のメッセージが表示されます。続ける?" 続行を押すと、挿入したのと同じデータが挿入されます。誰が何が悪いのか教えてもらえますか?PDOの学習を始めたばかりです。
<?php
$host = "localhost";
$user = "root";
$db = "pdotest2";
$pass = "";
$dbase = new PDO("mysql:host=" . $host . ";dbname=" . $db, $user, $pass);
if(isset($_POST['firstname']))
{
$fname = $_POST['firstname'];
$lname = $_POST['lastname'];
$sql = "INSERT INTO tbldata(firstname, lastname) VALUES(:firstname, :lastname);";
$query = $dbase->prepare($sql);
$results = $query->execute(array(
':firstname' => $fname,
':lastname' => $lname
));
}
?>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form action="" method="POST">
First Name: <input type="text" name="firstname" required>
<br>
Last Name: <input type="text" name="lastname" required>
<br>
<input type="submit" value="submit" name="submit">
</form>
<?php
$query1 = $dbase->query("SELECT * FROM tbldata");
echo "<table border=1 cellpadding=5>";
while($row = $query1->fetch(PDO::FETCH_ASSOC)){
echo "<tr>";
echo "<td>" . $row['id'] . "</td>";
echo "<td>" . $row['firstname'] . "</td>";
echo "<td>" . $row['lastname'] . "</td>";
echo "</tr>";
}
echo "</table>";
?>
</body>
</html>
あらゆる助けをいただければ幸いです。