Php 在我的数据库中重复注释,如何修复?
我有一些问题,每次我刷新页面,它重复的最后一条评论。我尝试使用重定向命令:Php 在我的数据库中重复注释,如何修复?,php,html,sql,database,Php,Html,Sql,Database,我有一些问题,每次我刷新页面,它重复的最后一条评论。我尝试使用重定向命令: header("location:../../index.php"); 但它给了我一个错误: 警告:无法修改标题信息-标题已由发送 (输出开始于 /home/timpovdnik/gymshark.timpovdnik.xyz/header.php:87) /home/timpovdnik/gymshark.timpovdnik.xyz/PHP/comments.PHP在线 9' 这是我的代码: <?php
header("location:../../index.php");
但它给了我一个错误:
警告:无法修改标题信息-标题已由发送
(输出开始于
/home/timpovdnik/gymshark.timpovdnik.xyz/header.php:87)
/home/timpovdnik/gymshark.timpovdnik.xyz/PHP/comments.PHP在线
9'
这是我的代码:
<?php
function setComments($conn) { // Funkcija, ki jo kasneje kličem v LoseFat in GainMuscles datoteki //zraven dodamo se spremenljivko $conn, ki je iz datoteke baza.php
if(isset($_POST['commentSubmit'])) { // Če kliknemo na gumb zažene kodo
$uid = $_POST['uid'];
$date = $_POST['date'];
$message = $_POST['message'];
$sql = "INSERT INTO komentarji (uime, sporocilo, datum, uporabnik_id, program_id, objava_id) VALUES ('$uid', '$message', '$date', '1', '1', '1')";
$result = mysqli_query($conn, $sql); // IZVEDE v BAZI
header("location:../index.php");
exit();
}
}
function getComments($conn) {
$sql = "SELECT * FROM komentarji";
$result = mysqli_query($conn, $sql); // IZVEDE v BAZI
while ($row = mysqli_fetch_assoc($result)) { // da v tabelo in jo shrani v $row
echo "<div class='row'>";
echo "<div class='comment-box'>";
echo $row['uime']."<br>";
echo $row['datum']."<br>";
echo nl2br($row['sporocilo']);
echo "</div>";
echo "</div>";
}
}
?>
我修复了它,还添加了Mysqli函数
谢谢你的建议
<?php
include 'baza.php';
if(isset($_POST['commentSubmit'])) { // Če kliknemo na gumb zažene kodo
$uid = $_POST['uid'];
$date = $_POST['date'];
$message = $_POST['message'];
$sql = "INSERT INTO komentarji (uime, sporocilo, datum) VALUES (?, ?, ?);";
$stmt = mysqli_stmt_init($conn);
if (!mysqli_stmt_prepare($stmt, $sql)) {
header("Location: ../loseFat.php?error=sqlerror"); // Če stavek ne dela
exit();
}
else {
mysqli_stmt_bind_param($stmt, "sss", $uid, $message, $date);
mysqli_stmt_execute($stmt); // Executa stavek v DB
header("Location: ../loseFat.php?comment=success");
exit();
}
}
function getComments($conn) {
$sql = "SELECT * FROM komentarji";
$result = mysqli_query($conn, $sql); // IZVEDE v BAZI
while ($row = mysqli_fetch_assoc($result)) { // da v tabelo in jo shrani v $row
echo "<div class='row'>";
echo "<div class='comment-box'>";
echo $row['uime']."<br>";
echo $row['datum']."<br>";
echo nl2br($row['sporocilo']);
echo "</div>";
echo "</div>";
}
}
此警告通常在写入输出后调用Header函数时出现,例如。G使用print或echo.To添加@MSTRmt所说的内容,如果在PHP之前有任何HTML(甚至是空行),甚至可能会出现此错误。