天天看点

留言本实例分析(一)

留言本

实现工具--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 Leave_id

    |---回复主题Titles

    |---回复内容Contents

    |---回复时间Createimes

    |---回复留言IDUserid

版主信息(tb_adm)

    |---版主名称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,

) 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,

) ENGINE=MyISAM  DEFAULT CHARSET=utf8

CREATE TABLE `tb_user` (

  `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,

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

    来查看建表的语句

本文转自孤舟夜航之家博客51CTO博客,原文链接http://blog.51cto.com/cysky/1601780如需转载请自行联系原作者

cysky