PHP留言板制作

一.设计思路

1.项目的流程

        在讲留言板的制作之前,我决定还是先讲一下项目这个概念,以及项目的流程。
        一个项目通俗来讲就是在规定期限内花费一定的资源所完成的产品,如果把我们所做的留言板的功能扩大,它便是一个项目。而一个项目的开发也是有严格的流程,总的来说有以下几个流程:需求分析,概要设计,详细设计,编码,测试,交互,验收,维护。我觉得在制作留言板开始,很有必要先了解一下项目的流程,我下面就简单介绍下这几个流程的意思。

需求分析:在项目的第一个阶段,客户向你提出他的需求,根据客户的需求,写一份需求文档;
概要设计:根据需求文档,想好所做的产品应该具备哪些功能模块和接口,写一份概要设计文档;
详细设计:根据概要设计,得知了哪些功能模块后,设计相应的数据结构,算法,层次结构等,写出一份详细设计文档;
(我个人认为这三个阶段是一个项目最重要的过程,不知道需求,没有设计好产品的功能模块和算法,最终导致的结果是自己在编码过程出现了种种问题,浪费了大量的时间与精力)
编码测试:这个就不用我多做什么解释了,其实在我看来,编码对于程序员来说并不是什么难事,所以在进行编码前一定要做好准备工作;编码完成后便是测试,测试其实是一门技术活,很有可能你测试的时间比你编码的时间还要长。
交互验收维护这个就没什么好说的了,从字面的意思就能看出来是什么了。

2.留言板的制作流程

之所以一开始便讲项目的流程,是为了让大家脑子里面有项目这个概念。下面就以留言板来举例说明。可能你觉得这只是个练手的小demo,但是我认为,你若是把他当做一个小型的项目来认真对待,效果可能会超出你的想象。我强调的是,在拿到一个项目,你不要急着敲代码,最好是花点时间把项目的流程走一遍,最后是有一份文档。

需求设计:先想一想,自己的这个留言板要实现哪些功能,自己最好用个文档记录一下。这最不起眼的一步,我觉得是最关键的一部,这一步做的好坏直接会影响你留言板制作的好坏,毕竟思路要清晰。
数据库设计:根据你的需求,想想应该设定哪些表,每个表应该哪些字段,我只能说数据库一定要认真设计,因为留言板的最主要功能都是通过数据库的操作来实现的,所以设计一个合理的数据库很重要。
界面设计:界面设计包括前台界面和后台界面,做个留言板你总要有个界面才说得过去吧,建议你们最好是先想想自己的界面应该怎么布局设计,这里只是单纯的界面设计。
编码测试:前面一系列的工作做好了,然后就可以开始进行编码以及测试,这个没什么好说的。


二.相关技术

制作一个留言板,所涉及的技术或则说你应该掌握的技术,我先列举出来:
html,css,javascript,php,mysql,bootstrap,ajax

1.html+css+javascript

我们常说的前端开发工程师,便要掌握这些技能;因为对于前端来说,这是一套的,所以我在这里一起列举出来。我简单地介绍下这几个技术。
首先是html,这是超文本标记语言,里面包含了许多标签,可以制作最基本的静态网页,就比如留言板的注册界面的输入框;可很多时候,对于一个网页来说,静态往往不能满足人们的需求,比如说我需要他可以实现一些动态的效果,这个时候便需要用JavaScript来实现我们所想要的网页动态效果,比如说注册界面你需要判断输入是否合法以及账号是否存在,这个时候便是JavaScript来实现这些;人都是喜欢美的,当一样东西功能齐全的时候,我们便开始想把他做的好看,美观,这个时候css,层叠样式表便凸显出他的作用了,css的作用便是给各种html中的标签添加样式,使其美观。
对于PHP程序员来说,我觉得这些东西不一定要精通,但是最基本的了解还是应该有的,至于达到什么程度,我个人认为,以淘宝或者其他一些网站为例,当你能够自己看着他的页面然后写出他的界面布局代码,我觉得就算是通关了。


2.PHP+MYSQL

其实php和mysql应该是分开的,但是我之所以把他们一起提出来是因为对于一个留言板的制作,其实我们需要用到的PHP知识是很少的,不外乎就是数据库的链接,以及对数据库的增删改查操作,这里我提一下就好了。

3.bootstrap

bootstrap其实是一个框架,里面是一些别人写好的css样式和js的样式。也许你会说,他的样式并不是想象中的那么好看,或者说你自己也能写出很好的样式。但有时候对于PHP程序员来说,重心并不是在前端上,可我又觉得我自己弄出来的样式不要看,而又没有专门的前端开发人员或者说是美工,这个时候bootstrap便能完美解决你的问题。你只需要进入他的官网,下载他的包,解压后放入自己的项目更目录下,并在要用到的PHP文件中导入头文件,便能直接使用他提供的样式。我个人还是觉得挺好用的,不会还可以去查看帮助手册。

4.ajax

我以注册界面为例,当我们输入账号时,通过js获取账号,在js里面判断账号的格式是否正确;可如何判断账号是否已经注册过了呢?很多人的做法是直接将这个表单提交出去进行数据库查询判断,但这样其实并不是最好的做法,对于用户来说是很麻烦的一件事情,他们更希望的是当我焦点离开输入框的时候就能知道这个账号能不能使用。我们知道html可以传值给js,js能返回给html,php也能和html相互传值,那么js如何给php传值呢?这个时候便需要ajax来实现了。关于ajax我就不多讲了,只是给你提一下有一个印象,在我的上一篇博客也有关于ajax的实例应用。

三.经验与建议


1.基本功能

a.前台:用户登陆注册,增删改查(留言);
b.后台:管理员登陆,增删改查(留言或用 户),权限设置。

其实整个留言板的核心功能也就以上列举的那么一点,如果只是写这么一点,就如我前面所提到的那样,他只是一个留言板,一个小demo而已;若是你学有余力,那么你可以尝试去完善他。

2.附加功能

a.好友系统(互粉)
b.消息系统(互相发送消息)
c.点赞或是加精,置顶,推荐
d.其他
一些 用户互动功能。。。。。。

总结起来:简单便是留言板,加工便是贴吧,论坛,博客;这就看你的心有多大。

3.登陆注册

a.验证码(网上有写好的类,可以直接使用)
b.判断用户信息是否合法(前面已经提到过,用js实现
c.检测账号是否存在(ajax)
d.提交表单检测(php)
e.session和cooki
e(这两个还是有区别的,session主要是用于服务端,cookie则是客户端)  
f.正则表达式
(很强大一个东西,方便字符串操作)

详细的内容我今天已经讲过了,不多累述了。你也许用不到这些东西,我也没有仔细讲 ,但我最主要的目的只要给你提出这些东西,让你有个印象,当自己要用到的时候便可以自己去网上查找学习应用。

4.增删改查

a.前面已经讲过了,你目前只要掌握php链接数据库,以及数据库增删改查的语句便足够了,深入的以后再学。关于这个我也不多说了,我前面的博客有专门的记录,不是很清楚的同学可以自己去翻翻。
b.在添加文本的时候,可能大家会觉得