首頁 >後端開發 >php教程 >PHP来编写网站评论系统

PHP来编写网站评论系统

WBOY
WBOY原創
2016-06-20 12:44:571330瀏覽

  首先打开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("Error performing query: " . mysql_error() . "");
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("

$msgTitle
  $msgTxt

  

$hr:$min $timetype | $mo/$da/$yr | $msgId, $SigName
");
}
  

Message Title
   Text within the message, blah blah

  

Hour:Minute AM/PM | Month/Day/Year | Message ID, Name with email link

表单处理的程序: 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() . "

");
}
}

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

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








陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn