留言本
实现工具--PHP和MySql 5.0
概述:
介绍留言本的设计思路及流程,在介绍留言本开发过程的同时,对PHP中一些常用函数及编程技巧及思路有全面掌握,而且还可以学到许多PHP的编程技巧,从而全面提高个人的基础及编程能力。
知识:
1、掌握留言本的设计及流程
2、掌握Mysql数据库的设计方式和方法
3、掌握PHP连接MySql数据库的方法
4、能够灵活运用常用的SQL查询语句
5、掌握PHP实现数据分页显示的方法
功能:
留言本除具有的功能--留言、查看、回复、查询、删除
另外还有管理员管理功能
业务流程:
是
用户-->填写用户注册信息-->判断用户信息是否合法-->保存用户注册信息-->用户注册成功
^ | |
| 否 | |
--------------- |
是 V
删除回复留言<-----回复其他留言<-----发表留言<---判断登录信息是否合法<---填写登录信息
| | 否 ^
————>退出登录 --------------------
例子目录:
\ ---根目录
│ admin_browse.php ---版主浏览页
│ bottom.php ---网页版权页文件
│ cale.php ---存储万年历文件
│ calendar.js ---万年历文件
│ chklogin.php ---验证自主登录文件
│ chkuserlogin.php ---用户身份验证文件
│ deleteleaveword.php ---删除留言文件
│ deletereplyword.php ---删除留言回复文件
│ editleaveword.php ---编辑用户留言页面
│ edlitreplyword.php ---编辑用户留言回复页面
│ filterwords.txt ---存储敏感词文件
│ function.php ---系统功能函数文件
│ gllogout.php ---版主退出页
│ index.php ---留言本主页
│ leaveword.php ---留言页面
│ left.php ---留言本左侧导航页
│ login.php ---版主登录页面
│ logout.php ---用户退出页
│ lookleaveword.php ---查看留言页
│ lookxx.php ---详细信息页面
│ main.php ---留言主题页
│ readme.txt
│ reg.php ---用户注册页面
│ reply.php ---用户回复留言页面
│ saveleaveword.php ---保存用户留言页面
│ savereg.php ---保存用户回复留言页面
│ savereply.php ---保存用户回复留言页面
│ searchword.php ---查询用户留言页面
│ top.php ---网站头部Banner页
│
├─conn ---用于存储网站使用的数据库链接文件
│ conn.php
│
├─css ---存放CSS样式文件的目录
│ style.css
│
├─data ---数据库的备份
│ └─db_guestbook ---数据库名称
│ db.opt
│ tb_adm.frm
│ tb_adm.MYD
│ tb_adm.MYI
│ tb_leaveword.frm
│ tb_leaveword.MYD
│ tb_leaveword.MYI
│ tb_replyword.frm
│ tb_replyword.MYD
│ tb_replyword.MYI
│ tb_user.frm
│ tb_user.MYD
│ tb_user.MYI
│
└─images ---用于存储网站图片资源文件
│ banner.jpg
│ banner_r1_c1.jpg
│ banner_r2_c1.jpg
│ biao.gif
│ bottom.gif
│ dh_back.gif
│ dh_back_1.gif
│ email.gif
│ gly.gif
│ ip.gif
│ line_down.gif
│ mark_0.gif
│ mark_1.gif
│ qq.gif
│ Thumbs.db
│
└─face
0.gif
1.gif
10.gif
11.gif
2.gif
3.gif
4.gif
5.gif
6.gif
7.gif
8.gif
9.gif
Thumbs.db
分析:
数据库分析
采用MySql数据库
数据库名:db_guestbook
数据表:tb_adm ---版主信息
tb_leaveword ---留言信息
tb_replyword ---回复信息
tb_user ---用户信息
用户信息(tb_user)
|---编号 ID
|---用户名Usermc
|---密码Userpwd
|---邮箱Email
|---头像Face
|---真实姓名truename
|---注册时间regtime
留言信息(tb_leaveword)
|---编号ID
|---留言者Userid
|---留言主题Createtime
|---留言内容Content
|---留言时间Createtime
|---留言者IDUserid
回复信息(tb_replyword)
|---编号ID
|---回复者ID Leave_id
|---回复主题Titles
|---回复内容Contents
|---回复时间Createimes
|---回复留言IDUserid
版主信息(tb_adm)
|---编号ID
|---版主名称Userword
|---版主密码password
|---版主邮箱Email
|---版主IP IP
创建数据库语言
创建数据库:
CREATE DATABASE `db_guestbook` /*!40100 DEFAULT CHARACTER SET utf8 */
创建数据表语句:
CREATE TABLE `tb_adm` (
`id` int(5) NOT NULL,
`userword` varchar(20) NOT NULL,
`password` varchar(20) NOT NULL,
`email` varchar(30) NOT NULL,
`ip` varchar(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `tb_leaveword` (
`id` int(8) NOT NULL AUTO_INCREMENT,
`userid` int(8) NOT NULL,
`createtime` datetime NOT NULL,
`title` varchar(100) NOT NULL,
`content` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
CREATE TABLE `tb_replyword` (
`userid` int(4) NOT NULL,
`createtimes` datetime NOT NULL,
`titles` varchar(100) NOT NULL,
`contents` text NOT NULL,
`leave_id` int(4) NOT NULL,
`id` int(4) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
CREATE TABLE `tb_user` (
`id` int(8) NOT NULL AUTO_INCREMENT,
`usernc` varchar(50) NOT NULL,
`truename` varchar(50) NOT NULL,
`email` varchar(50) NOT NULL,
`qq` varchar(20) NOT NULL,
`tel` varchar(20) NOT NULL,
`ip` varchar(15) NOT NULL,
`address` varchar(250) NOT NULL,
`face` varchar(50) NOT NULL,
`regtime` datetime NOT NULL,
`sex` varchar(2) NOT NULL,
`usertype` int(2) NOT NULL,
`userpwd` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
修改编码
原来书中的数据库和表编码是gb2312
现在配置的环境里学习这个例子 需要修改数据库的编码方式。
在网上搜索以的解决方案:
1.如果安装mysql的编码已不能更改,很多朋友是购买虚拟主机建立网站,无权更改MYSQL的安装编码,这一关我们可以跳过,因为只要后面的步聚正确,一样能解决乱码问题
2.修改数据库编码,如果是数据库编码不正确: 可以在phpmyadmin 执行如下命令:
ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
以上命令就是将test数据库的编码设为utf8
3.修改表的编码:
ALTER TABLE `category` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
以上命令就是将一个表category的编码改为utf8
4.修改字段的编码:
ALTER TABLE `test` CHANGE `dd` `dd` VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
以上命令就是将test表中 dd的字段编码改为utf8
5.如果是这种情况容易解决,只需检查下页面,修改源文件的charset即可
注意:在命令下可以利用show create table table_name;
来查看建表的语句