用PHP来制作评论系统

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

   
我终究还是低估了“妹子”两个字对程序猿们的杀伤力,在无图说个杰宝的今天,竟然还能在没有爆照的情况下点击量一天不到就到达了四位数,并且还成为当天评论最多的帖子!虽然评论都歪楼歪得不行了,但是妹子还是非常贴心地对我说了一句——妹子在此表示很关注内容。看到这句话,我顿时生出一种抛却此身为君死的知遇之情,不知道我以身相许妹子能乐意不?

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

澳门新葡亰网站注册,   
这么多人看到这一系列,我还是应该秉承技术博客的宗旨,尽量以讲技术为主,跟广大入门者一起探讨PHP开发的知识。不过呢,为了照顾广大因为标题点击近来的程序猿们,我会在博客中增加一些妹子在学习过程中表现的叙述,并且传授大家如何跟妹子培养感情,哦,不,是进行学术交流。

 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` ) );

   
既然是教妹子web开发,尤其是在几乎零基础的情况下,就必须要从非常基本的东西讲起,有足够的耐心。但是也要有严格的教学思路,不能想到什么就说什么,这样妹子听了不但会觉得烦,而且学习效率也不高。你想想,妹子烦了,学习的劲头上不去,后面还能有你的什么事呢?你还没来得及展示你的知识深度和丰富开发经验呢,妹子就已经把电脑一关弃你而去了,然后,还能有什么然后呢?!总结一句:没方法没思路没耐心,注定孤独一生。

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

————————————————————————————————闲聊结束————————————————————————————————————

$dbcnx = mysql_connect(localhost, username, password);mysql_select_db(comments);

  
在前一篇,已经基本介绍了一些东西,可以概括为以下几点:1)php代码要用<?php
?>标签进行标识(2)如何使用echo语句进行输出html代码,另外关于要用对””中的”(双引号)用(转义符)进行转义。(3)php代码是如何跟html代码进行混合的。那么,在这个基础上,下一步就是如何提交表单以及所提交表单的处理。

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

 

 $result = mysql_query(SELECT * FROM comtbl ORDER BY postID DESC);if (!$result) {echo(bError performing query:  . mysql_error() . /b);exit();}

第三步:提交表单

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

   
在html语法中,我们会用<form>标签进行表单的标识,在百度百科中,我们可以知道——表单在网页中主要负责数据采集功能。也就是说,表单为系统提供了提交数据的功能。那么,我们再来重温一下之前写的那几行代码,重点关注表单部分的内容。

while ($row = mysql_fetch_array($result) ) {$msgTxt = $row[postTXT];$msgId = $row[postID];$SigName = $row[posterNAME];$SigDate = $row[postTIME];$msgTitle = $row[postTITLE];$url = $row[posterEMAIL];
 1 <?php         //php代码部分开始
 2 echo "<html>";
 3 echo "<head>";
 4 echo "<meta charset="gbk">";
 5 echo "<title>用户登录界面</title>";
 6 ?><!--  php代码部分结束-->
 7 </head>
 8 <body>
 9 <form name="login" action="Controller.php" method="post" >
10  <!-- 上一行代码的意思是 -->
11  <!-- name="login"表单的名称为login,提交的动作为“Controller.php”,请求方式为“post” -->
12      <td class="tbl">用户名:</td><td><input type="text" name="user_id"></td> 
13  <!-- name="user_id"的意思是所填写的用户名标识为user_id -->   
14      <td class="tbl">密码:</td><td><input type="text" name="user_password"></td>
15  <!-- name="user_password"的意思是所填写的密码标识为user_password -->
16 <?php    
17 echo "<td><input type="submit" value="登入系统"></td>"
18   //submit表示的是表单的提交按钮,按钮显示为“登入系统”
19 ?>
20 </form>
21 </body>
22 </html>

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

    
看到上面这几行代码跟注释,有人可能会觉得:这也太简单了吧。在一开始我就说过了,教妹子学技术的关键在于要有耐心,如果妹子什么都会了,还要你干嘛?在这里,重点要给妹子解释一下的就是action=”Controller.php”,意思就是点击submit提交按钮后,页面会跳转到Controller.php这个文件,换句话来说——妹子,表单提交,就是把数据提交到Conroller.php上,由它来处理数据嘛。(这样的解释可能有失偏颇,但是为了让妹子更好的理解,这也是权宜之计,效果不错的哟)

$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来表示上下午,代码如下:

    
既然提交了表单,那么下一步肯定是如何获取和处理表单中里的数据。如果你这个时候给妹子讲POST请求和HTTP协议,妹子除了晕头转向并且给你两个白眼,估计你啥效果都得不到。你可能会说,楼主你这样的教学方式很不科学很不全面啊。是不是科学是不是全面我暂且不跟你争论,有的时候讲的细讲的多不代表对学的人就好,能把教学过程进行下去才是最重要的。

 if ($hr  11) {$x = 12;$timetype = PM;$hr = $hr - 12;}else{$timetype = AM;}

    
废话少说,我们直接看Controller.php的代码,在注释的帮助给妹子解释,PHP是如何获取HTML表单数据的。

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

 1 <?php
 2 session_start();//使用session前必须调用该函数
 3 
 4 $user_id =$_POST['user_id'];//声明变量$user_id,把POST请求中的user_id的值赋给它
 5 $user_password= $_POST['user_password'];
 6 //声明变量$user_password,把POST请求中的user_password的值赋给它
 7 
 8 //.操作符连接两个字符串变量,以下两条语句显示所提交表单的用户名和密码
 9 echo "所提交表单的用户名是:".$user_id;
10 echo "   密码是".$user_password;
11 ?>
 if (!$url) {$url = #;}else{$stat = $url;$url = mailto: . $url . ;}

   
看到开头的第一句:session_start();和紧接着的注释,妹子肯定会问——什么是session啊?session,通俗的来讲,就是用户从进入网站开始到关闭浏览器结束的这个过程。而在PHP中使用session,就是通过注册若干session全局变量,在不同的页面或php文件中使用这些变量。妹子肯定没有办法一下子就明白session到底是怎么回事,当前只要让她暂时知道有这么一回事就行了,在往后的学习当中会逐渐加深对其的理解。
   
继续看到代码,对照第三步的代码我们会知道,提交表单的方式是POST,所以我们用$_POST变量来获取表单中的数据。而中括号[‘
‘]内的索引为表单中的name,通过索引来获取数组$_POST中的值,最后显示在页面上。