何かが私のコードで上がっていますが、私は何がわかりません。私は非常に基本的な音楽ライブラリの入力フォームを作成してmySQLテーブルに保存し、そのデータを画面にも出力します。 何らかの理由で、ブラウザページを更新してデータベースに保存するたびに更新されます。誰かが私がどこに間違っているのか教えていただけますか?おかげで、ティムブラウザを更新するたびにデータベースが更新されるのはなぜですか?
<?php
//connect
$link = mysqli_connect("localhost", "my_username", "mypassword", "mydb");
//create user feedback if library has been updated
if(isset($_POST['submit'])) {
$cleanartist = mysqli_real_escape_string($link, $_POST['Artist']);
$cleantitle = mysqli_real_escape_string($link, $_POST['Title']);
//create query statement
$sql = "INSERT INTO albums (Artist, Title) VALUES ('$cleanartist', '$cleantitle')";
//run query
mysqli_query($link, $sql);
echo "Thanks, added to library";
}
mysqli_close($link);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Music Library</title>
</head>
<body>
<form class="" action="music_library.php" method="post">
<p>Add Artist<input type="text" name="Artist"></p>
<p>Album Title<input type"text" name="Title"></p>
<input type="submit" name="submit" value="submit">
</form>
<?php
//connect to db
$link = mysqli_connect("localhost", "my_username", "mypassword", "mydb");
//create query statement
$qry = "SELECT * FROM albums";
//run query and store result in variable
$result = mysqli_query($link, $qry);
//loop through returned data and output to screen
while($row = mysqli_fetch_assoc($result)) {
echo '<tr>';
foreach($row as $field) {
echo '<td>' . $field . '</td>' . '</br>';
}
}
mysqli_close($link);
?>
</body>
</html>
ページを更新する理由は、ブラウザがあなたのような何か尋ねる「データが再送されますが、あなたはよろしいですか?」このウィンドウで何をクリックしますか? –
更新すると、フォームデータを再送信しますか? –
あなたが入力した値を含む変数をデータに入力したら、ブラウザをリフレッシュするたびに以前に入力した値と同じ値がデータベースに挿入されます...私の悪い英語...申し訳ありませんが、 –