0
私はPHPコーディングで新しいです。コメントセクションを作成していますが、同じコメントをデータベースに挿入するたびにコメントを送信します。 ここは私のPHPコードです。ページを更新するときにSQLが同じデータを挿入するのはなぜですか?
<?php
function setComments($mysqli){
if (isset($_POST['commentSubmit'])) {
$uid= $_POST['uid'];
$date= $_POST['date'];
$message= $_POST['message'];
$sql="INSERT INTO comments(uid,date,message) VALUES('$uid','$date','$message')";
$result = $mysqli-> query($sql);
}
}
function getComments($mysqli){
$sql = "SELECT * FROM comments ORDER BY date DESC ";
$result = $mysqli->query($sql);
while ($row = $result->fetch_assoc()) {
echo "<div class='comment-box' ><p>";
echo $row['uid']."<br><br>";
echo $row['date']."<br><br>";
echo nl2br($row['message']);
echo "<p></div>";
}
}
、ここで出力のためのコードであり、ここで
<?php
echo "
<div align='center'>
<form method='POST' action='".setComments($mysqli)."'>
<input type='hidden' name='uid' value='Anwer'>
<input type='hidden' name='date' value='".date('Y-m-d H:i:s')."'>
<textarea name='message'></textarea>
<br>
<button type='submit' name='commentSubmit' > Comment</button>
</form>
</div>"
;
getComments($mysqli);
?>
@ slevy1助けてください –
あなたはHTMLフォームアクションとして機能を使用しています。これは、この機能がトリガーされたことを意味します。フォームポストイベントの後にこの関数を使用する必要があります。 –
@MehmetSoylu brother私は理解できませんでした:(説明してください。 –