注释未显示在php中
我有一个表单可以将数据发送到我的数据库,通过这个表单我可以在我的帖子下添加评论,但问题是:当我去一篇帖子发表评论时,我必须(首先)插入一条评论,在插入一条评论后,我可以看到其他评论,我不确定问题出在哪里 表单php注释未显示在php中,php,mysql,Php,Mysql,我有一个表单可以将数据发送到我的数据库,通过这个表单我可以在我的帖子下添加评论,但问题是:当我去一篇帖子发表评论时,我必须(首先)插入一条评论,在插入一条评论后,我可以看到其他评论,我不确定问题出在哪里 表单php <?php echo "<form class='form-horizontal well' method='POST' action='".setComments($conn)."'> <input type='hidden' name=
<?php
echo "<form class='form-horizontal well' method='POST' action='".setComments($conn)."'>
<input type='hidden' name='id' value='".$row['id']."'>
<input type='hidden' name='date' value='".date('Y-m-d H:i:s')."'>
<div class='form-group'>
<label for='message' class='col-lg-2 control-label'>Comment:</label>
<div class='col-lg-10'>
<textarea name='message' placeholder='Write your comment...' class='form-control' rows='4'></textarea>
</div></div><br>
<div class='form-group'>
<div class='col-lg-10 col-lg-offset-2'>
<button name='commentSubmit' type='submit' class='btn btn-primary'>Comment</button>
</div>
</div>
</form>";
getComments($conn);
?>
警告:当使用mysqli
时,您应该使用和将用户数据添加到查询中。不要使用字符串插值或串联来完成此操作,因为您已经创建了严重的错误。切勿将$\u POST
或$\u GET
数据直接放入查询中,如果有人试图利用您的错误,这可能非常有害。我不确定您为什么要在表中硬插入id
。通常,这些值是自动生成的。这是对其他表ID的引用吗?该ID调用页面中帖子的ID,以便我可以显示帖子的相对注释。这是错误的,我非常确定action='”。setComments($conn)。“
开始setComments()
不返回任何内容action属性应该是PHP脚本的名称,如somescript.PHP
function setComments($conn) {
if (isset($_POST['commentSubmit'])){
$users = $_POST['users'];
$date = $_POST['date'];
$message = $_POST['message'];
$id = $_POST['id'];
$sql = "INSERT INTO comments (users, date, message, id) VALUES ('$users', '$date', '$message', '$id')";
$result = $conn->query($sql);
}
}
function getComments($conn) {
$id = intval($_POST['id']);
$sql = ("SELECT * FROM comments WHERE id = $id ORDER BY cid DESC");
$result = $conn->query($sql);
while($row = $result->fetch_assoc()) {
echo "<div class='comment-box'><p>";
echo $row['users']."<br>";
echo $row['date']."<br>";
echo nl2br($row['message']);
echo "</p>
</div>";
}
}