基于PHP的留言板设计.docx
《基于PHP的留言板设计.docx》由会员分享,可在线阅读,更多相关《基于PHP的留言板设计.docx(15页珍藏版)》请在冰豆网上搜索。
基于PHP的留言板设计
本科毕业设计(论文)
题 目:
基于PHP的留言板设计
学生姓名:
学号:
系(部):
数学与计算机科学系专业:
计算机科学与技术
入学时间:
年 月
导师姓名:
职称/学位:
导师所在单位:
基于PHP的留言板设计
摘要
随着INTERNET的不断发展,越来越多的用户进入网络,利用网络资源。
尤其是利用网络来发布信息,与亲朋好友联系。
例如Email,QQ,同学录等等。
一个好的留言板更加成为用户之间进行交流的友好平台。
毕业在即,为了更好的加强本班同学之间的联系,方便同学之间的交流,设计这样的一个留言板,目的是在全班的同学都参与进来,为我们提供一个良好的交流互动的平台,增进同学之间的感情。
该留言板系统采用PHP实现留言板的基本功能,即在留言板上留言者可以进行留言和查看留言。
本系统将一个应用分为四个版块:
首页版块、留言版块、留言列表版块和库文件版块,每个版块负责不同的功能。
对于大量的信息,采用MySQL数据库技术进行储存。
所以,整个系统是在Apache,PHP,MySQL搭建的WAMP环境下制作完成的。
最后,该留言板将会是一个美观方便、畅所欲言的“公共场所”。
关键字:
留言板;PHP;MySQL
PHP-basedmessageboarddesign
Abstract
WiththecontinuousdevelopmentoftheInternet,moreandmoreusersaccesstothenetwork,theuseofnetworkresources.Inparticular,useofthenetworktoreleaseinformation,contactwithfriendsandfamily.Suchasemail,QQ,Classmatesandsoon.Agoodmessageboardandmoreexchangebetweentheuser-friendlyplatform.Tograduate,inordertobetterstrengthenthelinkbetweenthebumbanstudentstofacilitatecommunicationbetweenstudents,thedesignofsuchamessageboard,isintheclassthestudentsareinvolved,providesuswithagoodinteractionplatformhadnearlyfeelingsbetweenthestudents.ThemessageboardsystemusingPHPmessageboardbasicfunction,thatcanbeamessageinthemessageboardandviewmessages.Thesystemwillbeanapplicationisdividedintofoursections:
Homeplate,messageboards,toMessageListplateandlibrariesplate,eachplateisresponsiblefordifferentfunctions.Foralotofinformation,MySQLdatabasetechnologyforstorage.Therefore,theentiresystemisfinishedinApache,PHP,MySQLbuildWAMPenvironment.Finally,themessageboardwillbeabeautifulandeasytospeakfreelyinpublicplaces.
Keywords:
messageboard;PHP;MySQL
第一章前言
1.1开发背景
进入21世纪,随着网络时代的不断普及,网络已深入到人们的生活当中,信息化成为一股不可逆转的潮流。
在这潮流中,各校纷纷建起了学校留言板,而我们却忽视了班级留言板的建设和应用。
大学生活不同于高中生活,同学之间往往少了面对面的交流,而在这种情形下,班级留言板的存在就更具其意义。
它将帮助我们共享班级的一些信息,获取学校的相关重要新闻动态,帮助我们记录班级的重大活动,为班级成员提供一个更为广阔的交流平台,有助于同学间感情的培养,有利于班级的团结,班风的建设。
1.2研究意义
本留言板设计是针对于班级而设计的。
现代化技术的不断进步,人们越来越习惯于通过网络获取信息,而学生更愿意通过Internet在网站上发表自已的看法和建议。
所以,本留言板设计以班级为主题,让班级成员都能在留言板上畅所欲言,为班级成员之间提供交流的平台,为毕业后各奔东西的同学之间建立沟通的桥梁。
1.3系统目标
开发一个留言板系统,首先需要确定留言的功能是什么,也就是用户想要的留言板所能做的工作。
根据用户的需求,总结出了留言板的基本功能,一是用户登录进入留言页面,可以就某个话题发表自己的意见或者发布新的留言,二是浏览其他留言者的留言内容。
本留言板设计就是按这两个基本功能而设计的。
第二章开发技术
本系统是在Apache,PHP,MySQL搭建的环境下制作完成的,以下分别介绍这三种技术。
2.1PHP技术
PHP,是英文超文本预处理语言HypertextPreprocessor的缩写。
PHP是一种HTML内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛地运用。
PHP独特的语法混合了C、Java、Perl以及PHP自创的语法。
它可以比CGI或者Perl更快速地执行动态网页。
用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
PHP的优势:
所有的PHP源代码事实上都可以得到。
和其它技术相比,PHP本身免费且是开源代码。
PHP的程序开发快,运行快,技术本身学习快。
嵌入于HTML:
因为PHP可以被嵌入于HTML语言,它相对于其他语言。
编辑简单,实用性强,更适合初学者。
由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS、MacOS下。
PHP消耗相当少的系统资源。
用PHP动态创建图像,PHP图像处理默认使用GD2。
不过也可以配置为使用imagemagick进行图像处理。
在PHP4,PHP5中,面向对象方面都有了很大的改进,PHP完全可以用来开发大型商业程序。
PHP支持脚本语言为主,同为类C语言。
PHP的开发工具为eclipseforphp。
2.2MySQL技术
MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司。
目前MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL的SQL语言是用于访问数据库的最常用标准化语言。
MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。
MySQL的系统特性:
使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。
支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统。
为多种编程语言提供了API。
这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
支持多线程,充分利用CPU资源。
优化的SQL查询算法,有效地提高查询速度。
既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。
提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。
提供TCP/IP、ODBC和JDBC等多种数据库连接途径。
提供用于管理、检查、优化数据库操作的管理工具。
支持大型的数据库。
可以处理拥有上千万条记录的大型数据库。
支持多种存储引擎。
2.3Apache技术
Apache是世界使用排名第一的Web服务器软件。
它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
ApacheHTTPServer(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。
Apacheweb服务器软件拥有以下特性:
支持最新的HTTP/1.1通信协议,拥有简单而强有力的基文件的配置过程,支持通用网关接口,支持基于IP和基于域名的虚拟主机,支持多种方式的HTTP认证集成Perl处理模块,集成代理服务器模块,支持实时监视服务器状态和定制服务器日志,支持服务器端包含指令(SSI),支持安全Socket层(SSL),提供用户会话过程的跟踪,支持FastCGI,通过第三方模块可以支持JavaServlets。
第三章留言板总体设计
3.1留言板设计流程
图1:
留言板设计流程
留言板的设计流程如下:
1、在首页选择要留言还是查看留言。
2、在留言页面留言失败返回开始首页,留言成功后两秒后自动跳转查看留言列表行列。
3、在留言列表页面可以点击留言的标题查看单个留言内容。
4、留言列表内的留言按发言时间的先后顺序自动排列。
3.2设计留言板的环境搭建
3.2.1WAMP平台的介绍
Windows下的Apache+Mysql+PHP,一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。
每个程序在所有权里都符合开放源代码标准:
Linux是开放系统;Apache是最通用的网络服务器;mySQL是带有基于网络管理附加工具的关系数据库;PHP是流行的对象脚本语言,它包含了多数其它语言的优秀特征来使得它的网络开发更加有效。
开发者在Windows操作系统下使用这些Linux环境里的工具称为使用WAMP。
WAMP是指在Windows服务器上使用Apache、MySQL和PHP的集成安装环境,可以快速安装配置Web服务器,一般说来,大家都习惯于将Apache、MySQL、PHP架设在Linux系统下,但是,不可否认的是Windows也有其优点,就是易用,界面友好,软件丰富,操作起来非常方面,因此对新手来说在Windows平台下使用Apache、MySQL、PHP也确实是一个不错的选择。
3.2.2WAMP搭建环境步骤
1:
建立基本目录结构
2:
安装并设置Apache2.2,将Apache安装到wamp目录中,测试Apache是否安装成功。
3:
将PHP5.3.2以模块的形式加载到Apache中,将PHP解压都指定目录中,并更名php.ini配置文件,测试PHP是否安装成功-通过phpinfo();函数查看,如图2,适当修改,一些小的配置,例如时区
4:
安装MySQL5.5,将MySQL程序文件装入指定目录中,将MySQL数据文件装入指定目录中。
5:
配置php连接MySQL,在php.ini中开启MySQL以及其他模块,复制关键文件到System32目录下。
图2:
phpinfo()函数检测PHP是否安装成功
第四章留言板详细设计
留言板的详细设计主要设计的是数据库的建立和插入数据,留言板分为四个版块,分别为首页版块、留言版块、查看留言版块、库文件版块。
下边详细介绍数据库和四个版块。
4.1数据库的建立和表的建立
开启Apache和MySQL,在MySQL中首先创建数据库php,再在数据库php中创建表msg。
1、创建数据库php
语句为:
createdatabasephp;
图3:
数据库PHP的创建
2、创建表msg
表中id为整型,主键并自动增长;title、name、content都为字符型。
语句为:
createtablemsg(
idintprimarykeyauto_increment,
titlevarchar(60),
namevarchar(10),
contentvarchar(1000)
);
图4:
表的创建
4.2留言板四个版块的设计
4.2.1首页版块
首页版块是的主要内容是:
对页面进行的设计,页面中有两个超级链接方向,分别是“我要留言”和“查看留言”。
在“我要留言”中点击超级连接后并跳转到留言页面,进行留言操作;在“查看留言”中点击超级连接并跳转到留言列表页面,进行查看留言列表操作,效果如图5。
图5:
首页页面
首页模块的名称为:
shouye.html。
以下为CSS控制代码:
*{margin:
0;padding:
0;list-style:
none;font-family:
"宋体";font-size:
14px;color:
#8f8f8f;}
body{background:
url(images/bg.jpg)no-repeat;}
#bt{width:
502px;height:
413px;margin:
0auto;background:
url(images/xm.png)no-repeat;margin-top:
50px;padding-top:
22px;
padding-left:
420px;}
#ly{margin-left:
134px;margin-top:
140px;}
#ck{margin-left:
134px;margin-top:
50px;}
超级连接代码:
4.2.2留言版块
留言版块的主要内容是:
在留言页面liuyan.html输入自己的留言标题,留言者名字以及留言内容,通过提交留言把留言的信息传给pub.php,接受并输入数据库内,通过函数反馈留言成功还是失败。
在留言成功后两秒后自动跳转留言列表页面。
在输入留言时,通过javascript对留言标题、留言者姓名、留言内容为空时都会提示,加以准确性输入留言。
效果如图6。
留言页面为:
liuyan.html。
通过Javascript控制提示代码:
functionchkmsg(){
varobj=document.getElementsByName('title')[0];
if(obj.value==''){
alert('标题不能为空');
returnfalse;
}
obj=document.getElementsByName('username')[0];
if(obj.value==''){
alert('姓名不能为空');
returnfalse;
}
obj=document.getElementsByName('content')[0];
if(obj.value==''){
alert('内容不能为空');
returnfalse;
}
}
图6:
控制标题不能为空
表单代码:
接受留言入库并反馈信息页面,pub.php,代码如下:
php
require('inc/conn.php');
$title=$_POST['title'];
$name=$_POST['username'];
$content=$_POST['content'];
$sql="insertintomsg(title,name,content)values
('$title','$name','$content')";
$rs=mysql_query($sql,$conn);
>
留言成功后两秒自动跳转留言列表页面,主要代码如下:
functionzou(){
window.location.href='list.php';
}
window.setTimeout('zou()',2000);
4.2.3留言列表版块
留言列表的主要内容是:
对留言板的留言内容进行列表展示list.php,显示留言标题。
留言者姓名,留言内容不显示。
在留言标题内超级连接到留言内容页面msg.php。
留言标题列表按时间的顺序有序排列。
Msg.php根据id来确定留言的内容,并在页面上显示出来。
效果如图7,图8
图7:
留言列表显示
留言列表为list.php,主要代码如下:
留言内容Msg.php,通过id的值在数据库中找到相应的留言内容显示出来。
主要代码如下:
phpecho$info['title'];?
>
phpecho$info['content'];?
>
图8:
留言内容显示
4.2.4库文件版块
库文件模块内容主要是减少文件的重复书写,减少冗余。
只要调用里面的函数即可执行。
本系统设置的库文件为两个。
一个是连接数据库的公共文件:
conn.php,如修改数据库的密码,不必各个模块都去修改,只需在公共文件中修改即可。
另一个是封装的查询函数lib.php,功能是给定select语句,返回查询结果。
连接数据库公共文件conn.php,主要代码如下:
php
$conn=mysql_connect('localhost','root','123456');
if(!
$conn){
echo'连接失败';
exit;}
$sql='usephp';
mysql_query($sql,$conn);
封装查询函数lib.php,代码如下:
php
functionselAll($sql,$conn){
$rs=mysql_query($sql,$conn);
if(!
$rs){
showError();}
$list=array();
while($row=mysql_fetch_assoc($rs)){
$list[]=$row;}
return$list;
}
functionselRow($sql,$conn){
$rs=mysql_query($sql,$conn);
if(!
$rs){
echo'查询失败','
';
echomysql_error();
exit;}
returnmysql_fetch_assoc($rs);
}
functionshowError(){
echo'查询失败','
';
echomysql_error();
exit;}
第五章运行测试
当系统完成后进行运行,运行时所有功能都可成功。
用户进入首页可选择留言还是查询,留言页面随时进行留言发表,留言查询功能。
测试例子:
在留言板中输入
留言标题:
池州学院论文设计
留言者:
李四
留言内容:
关于基于PHP的留言板设计的研究意义
测试结果如图9,图10。
图9:
留言页面测试结果
图10:
留言列表测试结果
总结
通过这次的留言板设计,使我对网站的理解有了更深层次的提高。
浏览各大网站时不再只停留在表面的页面设计了,更加关注于内在的语言设计。
一开始在设计过程中,总会出现大大小小的错误,在不断的测试和修改中留言板逐渐完工。
这次留言板的设计让我知道只有计算机理论知识是不行的,还得有更丰富的实践经验,在实践和错误中不断的努力和完善自我的知识技能。
由于本人的能力有限,本留言板系统的功能不是很全面。
但我会通过以后的努力学习PHP、MySQL等知识来完善这个留言板。
主要参考文献
[1]叶子青、黄炳强《PHP网络开发实用工程案例》人民邮电出版社2008.5
[2]宫垂刚、韦一、张华丰《PHP完全自学手册》机械工业出版社2009.1
[3]道尔著《PHP5.3入门经典》清华大学出版社2010.11
[4]潘凯华、刘中华等《PHP开发实战1200例》清华大学出版社2011.1
[5]朱涛江《PHP与MySQL程序设计》人民邮电出版社2011.6
[6]王珊、萨师煊《数据库系统概论》高等教育出版社2007.7
[7]杨宇等《PHP典型模块与项目实战大全》清华大学出版社2012.1
致谢
在本论文完成之际,本人由衷的感谢关怀、教诲、帮助、支持和鼓励本人完成学业的老师和朋友。
在做这个留言板中体会到PHP的简单实用,也感受到编程的乐趣。
PHP作为网络编程的初