PHP来编写网站评论系统

首先打开Dreamweaver cc,安装MySQL数据库。

这里有三个文件:comments.php, 是用来显示评论的, commentadd.php, 用来处理评论内容的, commentform.html 通过FROM来提交评论。

首先建立一个数据库,如果已经建立则建立一个符合条件的表:

CREATE TABLE `comtbl` (
   `postID` INT NOT NULL AUTO_INCREMENT ,
   `postTITLE` TEXT NOT NULL ,
   `posterNAME` TEXT NOT NULL ,
   `posterEMAIL` TEXT NOT NULL ,
   `postTIME` TIMESTAMP NOT NULL ,
   `postTXT` TEXT NOT NULL ,
   PRIMARY KEY ( `postID` )
   );

评论查看页:COMMENTS.PHP,具体内容为(有用户名和密码的在实际工作中要改变):

$dbcnx = mysql_connect("localhost", "username", "password");

mysql_select_db("comments");

接下来需要对表进行查询,并且把ID 按Descending: 顺序排序:

  $result = mysql_query("SELECT * FROM comtbl ORDER BY postID DESC");

if (!$result) {

echo("<b>Error performing query: " . mysql_error() . "</b>");

exit();

}

在这里因为要读出好多条记录,所以用循环来读,具体程序如下:

while ($row = mysql_fetch_array($result) ) {

$msgTxt = $row["postTXT"];

$msgId = $row["postID"];

$SigName = $row["posterNAME"];

$SigDate = $row["postTIME"];

$msgTitle = $row["postTITLE"];

$url = $row["posterEMAIL"];

现在到了最关键的一步了,也是困难的一步: 因为在这里用到MySQL‘s TIMESTAMP 函数 (功能是可以自动的饿把时间添加到一个表中),并且需要取得时间的字符串,使用字符串函数substr() ( $yr 表示年, $mo 表示月, 等等):

$yr = substr($SigDate, 2, 2);

$mo = substr($SigDate, 4, 2);

$da = substr($SigDate, 6, 2);

$hr = substr($SigDate, 8, 2);

$min = substr($SigDate, 10, 2);

还需要对上述代码的功能加以扩充来实现12或24小时表示或者用 AM和PM来表示上下午,代码如下:

  if ($hr > "11") {

$x = "12";

$timetype = "PM";

$hr = $hr - 12;

}else{

$timetype = "AM";

}

另外,当评论者要是留下Email 的话,我们可以在这里来建立一个连接实现联系发评论的人.代码如下:

  if (!$url) {

$url = "#";

}else{

$stat = $url;

$url = "mailto:" . $url . "";

}

最后,我们可以按行来显示数据,并且关闭循环,最终的显示代码如下:

  echo("<p><b>$msgTitle</b>

  $msgTxt<br>

  <div align=right>$hr:$min $timetype | $mo/$da/$yr | $msgId, <a href=‘$url‘>$SigName</a></div></p>");

}

  <p><b>Message Title</b>

   Text within the message, blah blah<br>

  <div align=right>Hour:Minute AM/PM | Month/Day/Year | Message ID, <a href=‘mailto:[email protected]‘>Name with email link</a></div></p>

表单处理的程序: COMMENTADD.PHP

首先我们设置一些变量,然后通过表单把变量获得的数据提交到后台数据库中,并且请记住用户名和密码。

  $assume = $_POST[‘assume‘];

  $posterEMAIL = $_POST[‘postemail‘];

  $postTXT = $_POST[‘posttxt‘];

  $posterNAME = $_POST[‘poster‘];

  $postTITLE = $_POST[‘posttitle‘];

if ($assume == "true") {

$dbcnx = mysql_connect("localhost", "username", "password");

mysql_select_db("comments");

$sql = "INSERT INTO comtbl SET posterNAME=‘$posterNAME‘, posterEMAIL=‘$posterEMAIL‘,

postTXT=‘$postTXT‘, postTITLE=‘$postTITLE‘";

if (mysql_query($sql)) {

echo("<P>Your comment has been added</P>");

} else {

echo("<P>Error adding entry: " . mysql_error() . "</P>");

}

}

提交了自己的评论之后还要有跳转的功能,下面的Javascript代码就可以实现跳转到指定的页面。

<script language=javascript>

<!--

location.href="comments.php";

//-->

</script>

下面是具体的COMMENTFORM.HTML代码,通过下面的内容,可以让发表评论者发表评论,然后通过提交可以把数据提交到commentadd.php里面来实现数据的在线提交。

<form action="commentadd.php" method=post>

<input type="text" name="poster" size="23" value="name"><br />

<input type="text" name="posttitle" size="23" value="name"><br />

<input type="text" name="postemail" size="23" value="[email protected]"><br />

<textarea cols=44 rows=6 name="posttxt" size=24 wrap="VIRTUAL">message<br />

<input type=hidden name=assume value=true>

<input type="submit" value="submit">

下面是处理评论的代码 comments.php:

<?

$dbcnx = mysql_connect("localhost", "username", "password");

mysql_select_db("comments");

$result = @mysql_query("SELECT * FROM comtbl ORDER BY postID DESC");

if (!$result) { echo("<b>Error performing query: " . mysql_error() . "</b>");

exit();

}

while ($row = mysql_fetch_array($result) ) {

$msgTxt = $row["postTXT"];

$msgId = $row["postID"];

$SigName = $row["posterNAME"];

$SigDate = $row["postTIME"];

$msgTitle = $row["postTITLE"];

$url = $row["posterEMAIL"];

$yr = substr($SigDate, 2, 2);

$mo = substr($SigDate, 4, 2);

$da = substr($SigDate, 6, 2);

$hr = substr($SigDate, 8, 2);

$min = substr($SigDate, 10, 2);

if ($hr > "11") {

$x = "12";

$timetype = "PM";

$hr = $hr - 12;

}else{

$timetype = "AM";

}

if (!$url) {

$url = "#";

}else{

$stat = $url;

$url = "mailto:" . $url . "";

}

echo("<p><b>$msgTitle</b> $msgTxt<br><div align=right>

$hr:$min $timetype | $mo/$da/$yr | $msgId, <a href=‘$url‘>$SigName</a></div></p>");

}

?>

下面是 commentadd.php:

<?

$assume = $_POST[‘assume‘];

$posterEMAIL = $_POST[‘postemail‘];

$postTXT = $_POST[‘posttxt‘];

$posterNAME = $_POST[‘poster‘];

$postTITLE = $_POST[‘posttitle‘];

if ($assume == "true") {

$dbcnx = mysql_connect("localhost", "username", "password");

mysql_select_db("comments");

$sql = "INSERT INTO comtbl SET posterNAME=‘$posterNAME‘, posterEMAIL=‘$posterEMAIL‘,

postTXT=‘$postTXT‘, postTITLE=‘$postTITLE‘";

if (mysql_query($sql)) {

echo("Your comment has been added");

} else {

echo("Error adding entry: " . mysql_error() . "");

}

}

?>

<script language=javascript>

<!--

location.href="comments.php";

//-->

</script>

PHP程序编写完毕,可以上传啦。

时间: 2024-10-27 14:02:28

PHP来编写网站评论系统的相关文章

网站评论系统的开源插件的使用详解

当你在做一个网站的同时,你可能会为网站做一些可以互动的环节.在SNS越来越重要的这个时代,像腾讯,新浪,阿里等等都争着做社交化元素.同样的如果一个网站缺少社交模块,那么你的网站遭遇冷落也是很正常的.许多人说,看XX网站,就是看标题和评论,甚至是与话题毫不相关的评论,评论为何成为网站的香饽饽.可以网站的评论系统对我们有多么的重要. 如果你的网站想重新设计一个评论系统,你所花费的人力,财力将不可想象. 好吧,废话就不多说了,我们看看网上的一些现成的评论系统的使用吧. 多说评论系统的使用: <!DOC

给hexo添加评论系统

默认主题 landscape 文件目录,comments为新建的 _config.yml layout -- _partial -- article.ejs |- comments -- disqus.ejs |- duoshuo.ejs |- youyan.ejs 注册评论系统: Disqus 注册 设置Shortname 多说  不用注册直接登录(例如用百度账号),设置域名 友言 注册,查看ID 1 修改主题配置文件 landscape/_config.yml 添加以下内容: # >>&g

使用友言做octopress的评论系统,使用加网做分享

友言.加网是一家子.正好各做各用,用友言替代disqus评论系统,用加网做分享到微X的功能. 注册和获取代码 友言.加网是一家子,只要注册加网就行了.登录后,在JiaThis中有代码一项进入并进行定制,然后获取代码,在友言中有获取代码,在此获取代码. 新建显示评论和分享的页面文件 新建source/_includes/post/share_comment.html,将获取的代码复制到此处. 如果想把如分享按钮显示在侧栏,则需要参考对侧栏的定制,将加网的代码放进去. 配置显示开头 在_config

利用“多说”制作留言板、评论系统

留言板和评论系统在网站建设中会经常用到,今天为大家介绍如何利用多说来为自己的网站制作留言板.评论系统!注意以下只是介绍一下简单的创建设置,更多功能大家可以自己去探索! 1.进入多说网站 http://duoshuo.com/ 并且登录. 2.点击首页的“我要安装”,进入创建站点页面,然后根据自己的实际情况填写信息. 3.进入后台管理界面,点击工具->获取代码->通用代码,将这段代码复制到你留言板或者是评论区的地方,代码中需要你填写的信息在“文章”中设置 4.文章设置->添加文章,注意如果

WP评论系统更换小结(转)

第三方评论插件 多说 多说是一款追求极致体验的社会化评论框,可以用微博.QQ.人人.豆瓣等帐号登录并评论. 多说具备优质用户体验.速度和稳定性.社会化推荐.建站程序审核整合.垃圾评论过滤等特性. 自定义程度很高,支持插入表情.图片,细节上把握很好. 支持双向同步评论,导入导出. 友言 JiaThis旗下产品 支持社交帐号登录,和多说挺像的,体验会差一些. 支持数据导入导出,有评论统计.最新评论插件. 2017年6月调用基本502,最近一次更新三年前,感觉半死不活. 畅言 搜狐旗下产品 多说下架后

门户级UGC系统的技术进化路线——新浪新闻评论系统的架构演进和经验总结(转)

add by zhj:先收藏了 摘要:评论系统是所有门户网站的核心标准服务组件之一.本文作者曾负责新浪网评论系统多年,这套系统不仅服务于门户新闻业务,还包括调查.投票等产品,经历了从单机到多机再到集群,从简单到复杂再回归简单的过程. 评论系统,或者称为跟帖.留言板,是所有门户网站的核心标准服务组件之一.与论坛.博客等其他互联网UGC系统相比,评论系统虽然从产品功能角度衡量相对简单,但因为需要能够在突发热点新闻事件时,在没有任何预警和准备的前提下支撑住短短几分钟内上百倍甚至更高的访问量暴涨,而评论

站点评论系统的开源插件的使用

当你在做一个站点的同一时候.你可能会为站点做一些能够互动的环节.在SNS越来越重要的这个时代,像腾讯,新浪.阿里等等都争着做社交化元素. 相同的假设一个站点缺少社交模块,那么你的站点遭遇冷落也是非常正常的. 很多人说.看XX站点,就是看标题和评论,甚至是与话题毫不相关的评论.评论为何成为站点的香饽饽.能够站点的评论系统对我们有多么的重要. 假设你的站点想又一次设计一个评论系统.你所花费的人力,財力将不可想象. 好吧,废话就不多说了,我们看看网上的一些现成的评论系统的使用吧. 多说评论系统的使用:

评论系统数据库设计及实现

评论系统数据库设计及实现 需求分析 一般我们浏览网站的时候经常能看到如下图的这种效果(图片来自CSDN) 这种评论层层嵌套,每个评论下面还挂着若干个对评论的回复. 这种结构类似于树状结构,用户看起来一目了然,也是一种非常主流的评论系统设计. 数据库设计 在以评论为主的树形结构中,数据库的设计非常灵活,可以是单表设计,每个评论都有一个parent_id指向父评论.还可以分开为两个表,评论一张表,对评论的回复是另一张表. 这里我使用的是单表设计. 数据表设计如下.由于我开发的是一个新闻系统,所以我就

百万用户时尚分享网站feed系统扩展实践

Fashiolista是一个在线的时尚交流网站,用户可以在上面建立自己的档案,和他人分享自己的以及在浏览网页时看到的时尚物品.目前,Fashiolista的用户来自于全球100多个国家,用户达百万级,每日分享的时尚物品超过500万.作为一个以社交.分享的网站,feed系统占据了网站的核心架构,Fashiolista的创始人兼CTO Thierry Schellenbach撰写了一篇博客,分享了自家网站feed系统建设的经验,译文如下: Fashiolista最初是我们作为兴趣在业余时间开发的一个