Maison > Article > développement back-end > 用PHP构建一个留言本_PHP教程
下面是配置说明: 为了配置的方便,重新整理了代码,现在已经把全部的需要设置的参数都放在config.php文件里了,配置起来应该很简单,里面有详悉的说明. 目标:在十分种内搞定你的留言本!!! 1: 建立一个数据库(要主页提供数据库空间) 一般的有phpMyAdmin开放源玛的前端.创建以来很简单的. 取好名字后,记得把config.php 的$db_name改成这个名字 2: 建立留言数据表表(等下把config.php的$table_name改成这里你起的名字). 结构为: key_liuyan int(11) auto_increment primary key, //主建,自动增加 nikename varchar(20) null // 昵称 subject varchar(100) null // 留言主题 date_created varchar(19) // 留言时间 ip_address varchar(15) // 留言人的IP地址 message mediumtext null // 留言信息 email_address varchar(50) null // 留言人的e-mail地址 zhuye_address varchar(50) null // 留言人的主页地址 huifu_biaozi int(1) default 0 // 版主回复标志 huifu mediumtext null // 版主回复内容 oicq varchar(20) null // 留言人的OICQ号码 可以用如下的SQL来完成!!!(本人测试通过,记得把yourtable_name改成好记点的, 当然不改也行阿) create table your_liuyan_table( key_liuyan int(11) auto_increment primary key, nikename varchar(20) null, subject varchar(100) null, date_created varchar(19) , ip_address varchar(15), message mediumtext null, email_address varchar(50) null, zhuye_address varchar(50) null, huifu_biaozi int(1) default 0 , huifu mediumtext null, oicq varchar(20) null ) 3: 建立控制表:(同样要把这里起的名字放到config.php的$table_name_control里去) 结构如下: leibie varchar(20) primary key, value varchar(20) null 也可以用下面的SQL语句: create table your_control_table( leibie varchar(20) primary key, value varchar(20) null ) 因为这是你的控制表,所以要自己加入控制记录两条; SQL语句为: 插入删除密码: insert into your_control_tble( leibie, value) values (delete,1332); 插入回复密码: insert into your_control_tble( leibie, value) values (huifu,1332); 这样放进去的密码为:123,用户名为空! 怎么计算密码和插入的值的关系呢? 是这样的,你的密码 ,如123 把三位数上的各位加起来,等于6,然后把6乘以222就是密码值!!! 6*222=1332. 知道了这关系,当然你可以改成其它的密码了. 不过用户名要为空,,, 4: 一切完成,然后只要把除了readme.txt外的文件上传就行了. post.php 文件 <?php require(config.php); ?> <?php $nikename=$arr_request[nikename]; if (strlen($nikename)==0) { echo "<center>"; echo "<h2><font color=red>错误信息!</font></h2>"; echo "对不起,<font color=red>呢称</font>必须填写!!! 请重填!<br>"; echo "<hr></hr>"; echo "免费留言本由<a href=http://little.oso.com.cn>小熊</a>提供技术支持"; echo "</center>"; exit ; } $date_now=date(Y/m/d H:i:s); $ip_address=getenv("REMOTE_ADDR"); $messageold=$arr_request[message]; //$pattern="/n/"; //$replacement="<br>"; $message=computer_message($messageold,$hang_zifu_number); $subjectold=$arr_request[subject]; if (strlen($subjectold)>$hang_zifu_number) $subject=computer_message($subjectold,$hang_zifu_number); else $subject=$subjectold; $str_sql=" insert into $table_name (nikename,subject,date_created,ip_address,message,email_address,zhuye_address,oicq) values ( $nikename, $subject, $date_now, $ip_address, $message, ".$arr_request[email_address].", ".$arr_request[zhuye_address].", ".$arr_request[oicq]." )"; $result=mysql_db_query($db_name,$str_sql,$id_link); if (! $result){ affy_error_exit(SQL Insert Execution has failed.); } else { echo "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">"; echo "<HTML><HEAD><TITLE>发表文章</TITLE>"; echo "<META content="text/html; charset=gb2312" http-equiv=Content-Type>"; echo "<meta HTTP-EQUIV="REFRESH" CONTENT="2;URL=display.php">"; echo "</head><body topmargin="0"><br>"; echo "<ul>谢谢你发表留言,将自动显示留言内容"; echo " <br>"; echo "<a href=display.php>如果你的浏览器没有自动的返回到留言簿首页,? 请点这里返回."; echo "</a></ul>"; exit; } ?> index.html 文件 <html> <center> <title>谢谢你的留言!</title> <h1><font color=blue>我的留言本</font></h1> <font color=navy>首先感谢你的留言,你的每一句话我都会仔细阅读!!!</font> <form action="post.php" method="post"> <table> <tr> <td><font color=teal>呢称:</font><font color=red>(不能为空)</font></td><td> <input type="text" name="nikename" value=""></td> </tr> <tr> <td>OICQ号码:</td><td> <input type="text" name="oicq" value=""></td> </tr> <tr> <td>e-mail: </td><td> <input type="text" name="email_address" value="" size="30"></td> </tr> <tr> <td>个人主页:</td><td> <input type="text" name="zhuye_address" value="http://" size="40"></td> </tr> <tr><td> 主题:</td><td> <input type="text" name="subject" size="40" ></td> </tr> <tr><td> 内容:</td><td> </td> </tr> <tr><td colspan="2"> <textarea name="message" cols="60" rows="8"></textarea></td> </tr> <tr> <td> <input type="submit" value="完成留言"> </td> <td> <input type="reset" value="重新来过"> </td> </tr> </table> </form> <p> <a href=display.php>查看留言</a> <hr></hr> 免费留言本由<a href="http://little.oso.com.cn" >小熊</a>提供技术支持 </center> </html> display.inc文件!!! <tr bgcolor=> <td> <a href=mailto:<?php echo $record->email_address ?> > <font color="blue" size=4><strong><?php echo $record->nikename ?></strong></font> </a> </td> <td><font color="navy">留言时间:<?php echo $record->date_created ?></font></td> <td>来自: <?php $ip_address=ip_question($record->ip_address); echo $ip_address; ?> </td> </tr> <tr bgcolor=> <th colspan=3 align=left>主题:<font color=teal><?php echo $record->subject ?></font></th> </tr> <tr><th colspan=3 align=left><font color="#416AAF"> <?php echo $record->message ?></font></th> </tr> <?php if ($record->huifu_biaozi) { ?> <tr><th colspan=3 align=left><font color="red"><br><br>版主回复:</font><font color="navy"> <?php echo $record->huifu ?></font></th> </tr> <?php } ?> <tr> <th colspan=3 align=left><br> <a href=mailto:<?php echo $record->email_address ?> > <img src=image/mail.gif alt="<?php echo $record->nikename ?>的e-mail地址是:<?php echo $record->email_address ?> " border="0" width="15" length="15">邮件</a> <a href=<?php echo $record->zhuye_address ?>><img src=image/home.gif alt="<?php echo $record->nikename ?>的主页地址是:<?php echo $record->zhuye_address ?> " border="0" width="14" length="14" >主页</a> <img src=image/oicq.gif border="0" alt="<?php echo $record->nikename?>的OICQ是: <?php echo $record->oicq ?>" width="14" length="14" >OICQ</a> <a href=action.php?action=delete&key_liuyan=<?php echo $record->key_liuyan ?>><img src=image/del.gif border="0" width="12" length="12" alt="只有版主才有删除的权限哦!">删除</a> <a href=action.php?action=huifu&key_liuyan=<?php echo $record->key_liuyan ?> ><img src=image/replay.gif border="0" width="14" length="14" alt="不好意思,现在暂时只有版主才能回复">回复</a> </th></tr> <tr> <td colspan="3"><hr SIZE ="1"></td> </tr>