gpt4 book ai didi

php - 用 PHP 构建评论系统,决定采用哪种方法

转载 作者:行者123 更新时间:2023-11-29 04:03:14 24 4
gpt4 key购买 nike

我只是拼凑了一个小评论系统。但是,我认为这可能有点非正统。对于提交的评论,我使用 $_SERVER['SCRIPT_NAME'] 并将其存储为 varchar。然后,如果评论的记录位置/varchar 与当前事件页面匹配,则显示评论。这是执行此操作的好方法吗?还有什么其他方法可以解决这个问题?谢谢。

<?php
require('inc/connect.inc.php');
require('inc/core.inc.php');
?>

<form action="<?php echo $current_file; ?>" method="post">
<input type="hidden" name="page" />
Name:<br /><input type="text" name="name" /><p>
Comment:<br /><textarea rows="8" cols="45" name="comment"></textarea><p>
<input type="submit" value="submit" />
</form>

<?php

$page_on = $_SERVER['SCRIPT_NAME'];

if(isset($_POST['page'])&&isset($_POST['name'])&&isset($_POST['comment'])) {
$page = $_POST['page'];
$name = $_POST['name'];
$comment = $_POST['comment'];

$page = $_SERVER['SCRIPT_NAME'];

if(!empty($page)&&!empty($name)&&!empty($comment)) {
$query = mysql_query("INSERT INTO comments VALUES ('','".mysql_real_escape_string($name)."','".mysql_real_escape_string($comment)."','".mysql_real_escape_string($page)."')");
}
}


echo '<br /><br />';


$result = mysql_query("SELECT * FROM comments ORDER BY id DESC");
while($row = mysql_fetch_assoc($result)) {
$name = $row['name'];
$comment = $row['comment'];
$currentfile = $row['currentfile'];
if($page_on==$currentfile) {
echo $name.'\'s comment:<br />'.$comment.'<p>';
}
}

?>

最佳答案

由于您更多地是在寻找“一种方法”而不是代码,我将尝试帮助您以不同的方式看待事物,希望使您的编码更有经验、处理速度更快且更简单。

我假设你有一个博客、一个画廊、一个评论网站或任何你希望人们评论的“对象”。对于这个小教程,我们只称它们为 comment(able) 对象,或简单的“对象”。

它使您的网站或应用程序上的每个对象都有一个唯一的 ID、URL 或您构建查询所围绕的任何其他标识符的逻辑,对吗?对于这个小教程,我们将其称为对象的 ID。

现在,创建一个非常小的 SQL 表并将其命名为“user_comments”,其结构如下:

ID: the comment's ID
Object_ID: The object being commented
Authod_ID: username, email, or a user's id
TimeStamp: some date or timestamp
Child_OF: INT(11)

这里的技巧/噱头在于 *Child_Of* 属性,它将负责对评论的层次结构进行分类。让我们看看:

-- 每个带有 Child_OF=0 的评论都是你的对象的主要评论线程

例子:

  • 如果用户 *John_Doe* 来了并发表了评论,它的 ID 将为 1
  • 如果另一个用户发表独立评论,则其 ID 为 2,Child_Of 0 也..
  • 如果第三个用户对 *John_Doe 的* 评论发表评论,那将有 ID4 和 Child_Of 1..

当然,您可以使用时间戳按日期排序,当然还可以根据需要向数据库中添加其他字段。这可以通过 IP 地址、垃圾邮件保护、验证码等进行筛选。以上内容只是另一种以轻代码方式做事的方法。

最良好的祝愿\鲁斯兰

关于php - 用 PHP 构建评论系统,决定采用哪种方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7218798/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com