updatedoppelte Nachrichten nach Kommentar Button
jemand mir erklären kann, warum ich doppelte Nachrichten anstelle eines bin immer? Wie kann ich meinen Code ändern, so dass wenn ich einen Kommentar eintippe und die "Comment" Taste drücke, wird nur eine Nachricht anstelle von Duplikaten angezeigt! Wenn ich ein Kommentarfeld habe, werden keine doppelten Kommentare angezeigt, aber wenn ich mehr als eins habe, beginnt es zu duplizieren!
COMMENT.INC.PHP
include 'cdbh.inc.php';
function setComments($con)
{
if (isset($_POST['commentSubmit'])) {
$uid = mysqli_real_escape_string($con,$_POST['uid']);
$date = mysqli_real_escape_string($con,$_POST['date']);
$message = mysqli_real_escape_string($con,$_POST['message']);
$sql = "INSERT INTO comments (uid, date, message) VALUES ('$uid','$date','$message')";
$result = mysqli_query($con,$sql);
}
}
function getComments($con)
{
$sql = "SELECT * FROM comments";
$result = mysqli_query($con,$sql);
while ($row=mysqli_fetch_assoc($result)) {
echo $row['uid'];
echo ":";
echo $row['message']."<br><br>";
}
}
Seitencode
<?php
date_default_timezone_set('America/Los_Angeles');
include 'comment.inc.php';
include("connection.php");
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<link href="comment.css" rel ="stylesheet">
</head>
<body>
<?php
$sql="Select * from tbl_images";
$result=mysqli_query($connection,$sql);
while ($row=mysqli_fetch_array($result)) {
?>
<img src="images/<?php echo $row['images_name'] ?>" width="200px" height="200px">
<?php
echo "<form method ='POST' action ='".setComments($con)."'>
<input type ='hidden' name ='uid' value='unknown'>
<input type ='hidden' name ='date' value='".date('Y-m-d H:i:s')."'>
<textarea name='message'></textarea>
<button type ='submit' name='commentSubmit'>Comment</button>
</form>";
}
getComments($con);
?>
</body>
</html>
Verwenden Sie Ajax/jQuery, um das Formular zu senden? Wenn ja, sollten Sie auch das Javascript posten. – jeroen
Debuggen Sie Ihren eigenen Code Schritt für Schritt mit Echos und Exits .... –
Ihr Skript ist in Gefahr von [SQL Injection Attack] (http://stackoverflow.com/questions/60174/how-can-i-prevent-sql -injektion-in-php) Schauen Sie sich an, was mit [Little Bobby Tables] passiert ist (http://bobby-tables.com/) Sogar [Wenn Sie Eingaben entgehen, ist es nicht sicher!] (http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string) Verwenden Sie [vorbereitete Anweisung und parametrisierte Anweisungen] (http://php.net/manual/en/mysqli . quickstart.prepared-statements.php) – RiggsFolly