我的代碼有問題。當我點擊該按鈕時發佈評論,在我刷新網站之前,它不會顯示在評論字段中。有人可以幫助我嗎?這將是真正的讚賞!評論部分將不會發表評論
<?php
$db = mysqli_connect("localhost", "root", "", "mydb");
if (mysqli_connect_errno()) {
die(mysqli_connect_error());
}
$query = "SELECT * FROM kommentar";
$resultat = mysqli_query($db,$query);
if (!$resultat) echo "<b>FEIL: ikke i stand til å sende.</b>";
$rows = array();
while ($row = mysqli_fetch_array($resultat, MYSQL_ASSOC)) {
$rows[] = $row;
}
$query2 = sprintf("select * from kommentar");
// Sender spørring til databasen og tester på om den gjekk OK
$resultat2=mysqli_query($db, $query2);
if (!$resultat2) echo "<b>FEIL: ikkje i stand til å senda.</b>";
// Initialisere rows2 som ein 'array'
$rows2 = array();
// Henter verdiar til rows1 frå database-svaret
while ($row2 = mysqli_fetch_array($resultat2, MYSQL_ASSOC)) {
$rows2[] = $row2;
}
if (isset($_GET['id']) && intval($_GET['id']) > 0) {
// Hentar id frå querystreng
$id = $_GET['id'];
// "Cast" id til integer, dvs. gjer om id til heiltal
$id = (int) $id;
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Kommentarfelt</title>
</head>
<body>
<h3> Kommentarer: </h3>
<?php foreach($rows2 as $row2): ?>
<?php echo $row2['tekst']; ?>
Lagt inn <?php echo $row2['opprettet']; ?> av <?php echo
$row2['navn']; ?><br>
<?php endforeach; ?>
<h4> Skriv ny kommentar: </h4>
<form method="POST" action="test_envy.php?id=<?php echo $row1['id']; ?>">
<b>Navn:</b><br>
<input type="navn" name="navn"><br>
<b>Kommentar:</b><br>
<textarea cols="60" rows="6" name="tekst"></textarea><br>
<input type="submit" name="sendknapp" value="Send"></form>
</body>
<?php
/*if ($_POST["sendknapp"] == "Send")*/
if($_SERVER['REQUEST_METHOD'] == "POST")
{
//mysql_connect("localhost","root",""); /* server, username, passord */
//mysql_select_db("mydb");
$db = mysqli_connect("localhost","root","","mydb");
$navn=$_POST["navn"];
$tekst=$_POST["tekst"];
$query ="INSERT INTO kommentar (navn, tekst)";
$query.="VALUES ('$navn','$tekst')";
$resultat=mysqli_query($db, $query);
if ($resultat) {
printf("Kommentar registrert", mysqli_insert_id($db));
echo ("<a href='vg.no" . $id . "';> Oppdater side </a>");}
else printf("ikkje i stand til å senda query:%s", $query);;
}
?>
你應該把這整個事情和AJAX調用進行處理。所以有人發表評論,AJAX發送到服務器,並更新頁面而不需要刷新。 – durbnpoisn
你應該使用mysqli_real_escape_string作爲你的輸入,因爲這可以防止數據被添加到你的表中http://php.net/manual/en/mysqli.real-escape-string.php – jeff