不要问:“如何使用PHP / MySQL的,让用户影响的网页”我会问这个,因为我从学习项目和实例更好。
那么,如何将纳入使用PHP和MySQL的一个非常基本的评论功能?
不要问:“如何使用PHP / MySQL的,让用户影响的网页”我会问这个,因为我从学习项目和实例更好。
那么,如何将纳入使用PHP和MySQL的一个非常基本的评论功能?
这是一个很难回答的问题没有更多的信息回答。 还有一些正在寻求实现注释在现有网站上时,你应该考虑的事情。
你将如何解决垃圾邮件的问题? 不要紧,你的网站是多么遥远,垃圾邮件发送者会发现,他们会在任何时候它灌满了。 你可能想看看像验证码( http://recaptcha.net/ )。
该网站的结构也可能会影响您如何实现您的意见。 对于网站的整体,一个特定的产品或网页,甚至是另一个评论的评论? 你需要知道的内容和评论之间的关系,这样你就可以正确地定义在数据库中的关系。 为了把它的另一种方式,你知道你想要的电子邮件地址,注释,以及它是否被批准,但现在我们需要一种方法来确定哪些,如果有的话,注释被链接到。
如果您的网站已经建立,并建立在一个PHP框架( CakePHP的例如),你需要解决如何在你的代码正确地与那些已经到位集成。
最后,还有在网络上的PHP一些资源和教程。 如果你沿着的“PHP博客教程”的线东西快速谷歌搜索我敢肯定你会发现数以百计,大部分会告诉你如何一步一步落实意见。
创建一个新的表名为评论
他们应该有一个包含他们被分配到了帖子的ID列。
做一个形式添加到该表中的新评论。
一个例子(未测试,所以可能包含律”语法错误):我现在用的意见后一页
post.php中
<!-- Post content here -->
<!-- Then cmments below -->
<h1>Comments</h1>
<?php
$result = mysql_query("SELECT * FROM comments WHERE postid=0");
//0 should be the current post's id
while($row = mysql_fetch_object($result))
{
?>
<div class="comment">
By: <?php echo $row->author; //Or similar in your table ?>
<p>
<?php echo;$row->body; ?>
</p>
</div>
<?php
}
?>
<h1>Leave a comment:</h1>
<form action="insertcomment.php" method="post">
<!-- Here the shit they must fill out -->
<input type="hidden" name="postid" value="<?php //your posts id ?>" />
<input type="submit" />
</form>
insertcomment.php
<?php
//First check if everything is filled in
if(/*some statements*/)
{
//Do a mysql_real_escape_string() to all fields
//Then insert comment
mysql_query("INSERT INTO comments VALUES ($author,$postid,$body,$etc)");
}
else
{
die("Fill out everything please. Mkay.");
}
?>
您必须更改代码位,使其工作。 I'n没有做功课。 它只是其中的一部分;)
您可以创建一个“注释”表中,带有id作为主键,然后添加一个文本字段来捕获用户插入的文本,你需要另一个领域的评语表的文章链接表(外键)。 另外,您需要一个字段来存储已经进入一个评论的用户,本场可将用户的电子邮件。 然后你通过GET获取或发布用户的电子邮件和评论,并插入在DB的一切:
"INSERT INTO comment (comment, email, approved) VALUES ('$comment', '$email', '$approved')"
这是第一个暗示。 当然,添加注释功能需要一点点。 那么你应该考虑一下形式,让管理员批准的意见,以及如何发布的评论在文章结尾。
规范化是在评论/等级/票制你最好的朋友。 了解它。 很多网站现在都转移到PDO ......学习这一点。
有没有右,右儿,或错误(也有),这样做的方式,你需要了解的基本概念,并把他们从那里。 如果你不喜欢学习,那么也许投资于类似的CakePHP或Zend框架,或像WordPress或Joomla一个现成的制度框架。
我也建议书绝对酷的PHP脚本 ,因为它在它的评论系统的例子。
这是我的方式,我不评论(我认为它的安全):
<h1>Comment's:</h1>
<?php
$i = addslashes($_POST['a']);
$ip = addslashes($_POST['b']);
$a = addslashes($_POST['c']);
$b = addslashes($_POST['d']);
if(isset($i) & isset($ip) & isset($a) & isset($b))
{
$r = mysql_query("SELECT COUNT(*) FROM $db.ban WHERE ip=$ip"); //Check if banned
$r = mysql_fetch_array($r);
if(!$r[0]) //Phew, not banned
{
if(mysql_query("INSERT INTO $db.com VALUES ($a, $b, $ip, $i)"))
{
?>
<script type="text/javascript">
window.location="/index.php?id=".<?php echo $i; ?>;
</script>
<?php
}
else echo "Error, in mysql query";
}
else echo "Error, You are banned.";
}
$x = mysql_query("SELECT * FROM $db.com WHERE i=$i");
while($r = mysql_fetch_object($x) echo '<div class="c">'.$r->a.'<p>'.$row->b.'</p> </div>';
?>
<h1>Leave a comment, pl0x:</h1>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="hidden" name="a" value="<?php $echo $_GET['id']; ?>" />
<input type="hidden" name="b" value="<?php $echo $_SERVER['REMOTE_ADDR']; ?>" />
<input type="text" name="c" value="Name"/></br>
<textarea name="d">
</textarea>
<input type="submit" />
</form>
这确实是在同一个页面(这仅仅是评论部分,需要一些配置)
我在做这个,现在也是如此。 您还应该添加注释的日期时间。 当你要排序最近你需要这一点。
下面是一些我使用的数据库字段。
id (auto incremented)
name
email
text
datetime
approved