php留言本教程

php留言本教程

ID:21678480

大小:104.50 KB

页数:8页

时间:2018-10-23

php留言本教程_第1页
php留言本教程_第2页
php留言本教程_第3页
php留言本教程_第4页
php留言本教程_第5页
资源描述:

《php留言本教程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、教程连载1:PhpChina留言本实例在第一期中,我们来一步一步实现一个最基本的留言本。留言信息包括留言者,留言内容,留言时间,留言者IP。(本文假设你已对HTML以及PHP语法比较熟练了)第一步:设计数据库新建一个数据库,打开phpMyAdmin,新建一个数据库gb,下面整理选择utf8_general_ci,然后在数据库中建一个表message,字段数为5:字段名类型长度属性额外其他idint10unsignedauto_increment主键usernamechar100contenttexttimeint10unsignedipchar15然后下

2、面数据库类型选择MyISAM(各个类型的优缺点请查看MYSQL手册),整理选择utf8_general_ci。每个字段的含义:id--留言的编号,类型为整数型,长度是10,属性选择为unsigned是表明这个字段是无符号字段,不会有负数,所以可以存取的范围会增加一倍(因为如果原来的范围是-9到10,那么设置为unsigned后范围则变为0到19),额外设置为auto_increment,表明这个字段是自动增加的,我们不用管插入数据时它是啥值,它会自动在最大的id的基础上自动加1,其他设置为主键。username--留言者的名字,类型为字符型(关于char

3、与varchar的区别请查看MYSQL手册),长度为100(正常人用户名不可能超过100吧,其实应该尽量减少长度,提高性能,节约空间)content--即留言内容,类型为text(text和blob的唯一的区别在于text不区分大小写,而blob对字符的大小写),text类型可以存足够多的数据,足够存好几篇文章了,此类型不能设置长度,否则报错。time--即发布留言的时间,类型为int,长度为10,保存的数据格式是UNIX时间戳(即用PHP函数time()得到的10位数字),而不存xxxx-xx-xx这样的格式,为何这样后面或解释。ip--即留言者的IP

4、,格式为xxx.xxx.xxx.xxx,总共15个字符,所以长度设置为15。第二步:设计界面在这我们直接偷蓝色理想的BXNA的界面(http://blog.blueidea.com)HTML和CSS的东西就不详细讲了,不然写10期也写不完这个留言本了J(在code文件夹中有一个html文件,是单独分离出来的)第三步:开始写程序咯先要想好程序的整体构架,代码执行的流程等。先说一下我们做的这个程序的整体运行流程:程序是根据不同的URL参数(参数m和参数a)来调用不同的模块文件里的不同函数。比如URL是index.php?m=user&a=info,则程序会先

5、包含mod_user.php,并调用里面的函数user_info();,这个函数会返回一段HTML(不会直接输出,因为我们要用到smarty,最后一次性输出)或跳到别的页面。所有的请求都是从index.php这个入口开始,mod文件不能被直接调用。下面开始写程序入口部分:首先建立一些引用的文件,放在includes文件夹下,比如一些常量config.inc.php,所有函数function.inc.php,后缀为PHP,这样通过浏览器直接访问这些文件将看到空白(没有输出)。在config.inc.php中定义5个常量:define('DB_HOST','

6、localhost');//数据库地址define('DB_USER','root');//数据库用户名define('DB_PASSWORD','12345');//数据库密码define('DB_NAME','gb');//数据库名define('IN',true);//设置一个常量,可以判断mod文件是否被非法调用function.inc.php用来存放自定义函数。在这一期中总共有3个自定义函数。具体代码请查看文件,有详细注释。print_mysql_error显示数据库错误信息,并终止脚本get_client_ip取得用户IPshow_resul

7、t_page显示结果页面,返回HTML把smarty文件夹全拷过去。(在后面会讲到简单用法)然后建立首页index.php文件,具体代码请看附件中的对应文件。其中比较重要的一些地方。error_reporting(E_ALL);//打开所有错误报告,这个是为了调试时用,程序完成时可以把它设置为比较低的级别。header("Content-Type:text/html;charset=utf-8");//设置http头,因为MYSQL4.1以后有编码问题,没弄好的话会出乱码,在这强行定义文件编码,和数据库设置的编码一致$mod_list是一个数组,包含合法

8、的模块名(对应URL中的参数m),实现根据URL中不同参数调用对应的功能模块。在

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。