我的目标是让人们可以在邮政系统中公开提交内容。我目前有一个HTML表单,人们可以写下标题和信息。
如何在提交表单时这样做,它会弹出HTML表单下方的可视化帖子?我不想在这里吃勺子,因为我实际上想要学习一些东西,但只是在正确的方向上碰撞会很棒。谢谢!
答案 0 :(得分:1)
好了,因为您还没有添加mysql
标记,我希望您知道它的基础知识。或者你可以谷歌建立这个,因为这个答案只需要它的基础知识。第一步是在数据库表中输入提交表单的数据,如comments
。现在不要忘记此表中的post_id
列,以便稍后显示特定于该帖子的评论。
您可以通过在表单中添加隐藏输入来执行此操作。我在此假设您在该帖子的地址中有post_id
,因此您可以通过GET
方法获取该信息
<form role="form" action="action.php" method="POST">
<input name="commentorname" type="text" required>
<!--and some other inputs-->
<input type="hidden" name="post_id" value="<?php echo $_GET['id']; ?>"/>
</form>
然后使用connection.php
<?php
$con= mysqli_connect("localhost","root","","database_name");
?>
然后在action.php上按$_POST
获取数据并将其输入数据库
$query = "INSERT INTO comments(post_id,username,comment) VALUES ('$post_id','$commentorname','$comment')";
mysqli_query($con,$query);
然后最后一步是在帖子页面上提取评论:
$query = "SELECT * FROM comments WHERE post_id='{$id}'";
$result = mysqli_query($con,$query);
$row = mysqli_fetch_array($result);
此处$id
又是post_id
。然后将$row
中的数据嵌入到html中。
正如fred在评论中所建议的那样:因为它对SQL注入是开放的。 real_escape_string()是不够的;它仍然可以注射。php.net/manual/en/mysqli.quickstart.prepared-statements.php php.net/manual/en/pdo.prepared-statements.php更加安全。