分享
 
 
 

用PHP来制作评论系统

王朝php·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

有什么问题请与我联系:http://www.webjx.com web@webjx.com

我们在实际做的过程中很是简单的,希望大家好好研究一下,给补充多点功能。本程序须在PHP and mySQL的环境下运行。有三个文件:comments.php, 是用来显示[评论的, commentadd.php, 用来处理评论内容的, and commentform.html 通过FROM来提交评论。

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

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:test@test.com'>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="user@email.com"><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>

整个程序到这就完了,想拥有自己评论系统的站长请试试吧

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有