基于PHP的信息发布系统_第1页
基于PHP的信息发布系统_第2页
基于PHP的信息发布系统_第3页
基于PHP的信息发布系统_第4页
基于PHP的信息发布系统_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPage1Page1Page1新乡学院毕业论文论文题目院(系)名专业名称班级学生姓名学号指导教师姓名目录TOC\o"1-2"\h\z\u内容摘要: II关键词: IIABSTRACT: IIKEYWORDS: II1.绪论 11.1什么是供求信息平台 11.2与企业网站、门户网站、黄页等的区别 12.运行环境及开发技术介绍 22.1运行环境介绍 22.2PHP技术 22.3PHP工作原理 32.4B/S结构 32.5数据库技术 42.6Apache技术 42.7JavaScript语言 53.系统可行性分析设计 63.1开发的目的和背景 63.2目标设计 63.3系统功能分析与设计 73.4系统的其它可行性 83.5可行性结论 84.需求分析及详细设计 94.1网站设计技术及工具需求 94.2数据库需求分析与设计 94.3程序设计部分 104.4网站文件结构 155.系统配置和发布 165.1应用环境配 165.2系统的安装和运行效果 166.总结 18参考文献 19致谢 20PAGEII内容摘要:本系统利用PHP动态网络开发技术,以MySQL作为后台数据库,使用LAMP架构配置Web服务器,结合JavaScript和HTML两种脚本语言,以及配合多种网页开发工具,实现了基于B/S模式的信息发布平台——信息发布系统。全文主要分为6个部分:第1部分主要介绍信息发布系统的特点、优点和本系统所要用到的各种开发技术;第2部分主要说明了运行环境及开发技术介绍;第3部分主要分析了系统的各项功能和性能需求,给出了系统需求管理规划表,展示了各种需求的优先级,规划和分配了各个模块所要完成的系统功能;第4部分系统数据库设计,主要分析和设计了系统的数据库表和项,以及数据库各项的标识符;第5系统配置和发布,运行效果展示;第6部分总结。关键词:信息发布LAMPPHPMySQL动态网页B/S模式Abstract:ThesystemusesPHPdynamicwebdevelopmenttechnology,usingMySQLasbackgrounddatabase,usingLAMParchitectureWebserverconfiguration,acombinationofJavaScriptandHTMLtwoscriptlanguage,aswellasavarietyofwebpagedevelopmenttool,basedonB/Smodeinformationreleaseplatform--informationpublishingsystem.Thefulltextisdividedinto6parts:thefirstpartmainlyintroducestheinformationreleasesystemcharacteristics,advantagesandthesystemmustuseavarietyoftechnicaldevelopment;thesecondpartmainlyexplainstheoperatingenvironmentandthedevelopmentoftechnologyintroduction;thethirdpartmainlyanalyzesthesystemofthefunctionalandperformancerequirements,thenthesystemrequirementsmanagementplanning,exhibitionavarietyofdemandpriority,planninganddistributionofthevariousmodulesofthesystemfunction;thefourthpartsystemdatabasedesign,mainanalysisanddesignthesystemdatabasetablesanddatabase,aswellastheidentifier;fifthsystemconfigurationanddistribution,operationresultsshow;thesixthpartistheconclusionof.Keywords:informationpublishingLAMPPHPMySQLDynamicWebsiteB/Smodel.PagePage201.绪论1.1什么是供求信息平台供求信息平台:供求信息平台是互联网上发布供求信息、进行网络推广的一个网站或者载体。它可以分为全球性的或地域性的,综合性的或行业性的,等等。目前有代表性的门户综合型如阿里巴巴、慧聪、供求平台、环球资源等,行业性的如中国化工网、中国鞋网、环球服装网等。1.2与企业网站、门户网站、黄页等的区别企业网站、门户网站、黄页等的针对性没有供求平台那么强,而且他们主要是提供信息,也就是都是“供”,很少有“求”方面的信息,但是供求平台在这2个方面都是等同的。

2.运行环境及开发技术介绍2.1运行环境介绍本系统在LINUX下采用PHP技术作为服务器端脚本解释器,MySQL作为后台数据库平台以及Apache作为Web服务器,并且使用了一些辅助开发工具和技术,比如gedit代码编辑器等。2.2PHP技术PHP(HypertextPreprocessor——超文本预处理器)是一种HTML内嵌式的脚本语言。PHP的语法大部分兼容了C、JAVA、Perl,并增加了PHP特有的语法结构,可以比CGI或者Perl更快速的执行动态网页,只需要很少的编程知识就能建立一个交互的WEB站点。它可以用于管理动态内容、支持数据库、处理会话跟踪,甚至构建整个电子商务站点。它还支持许多流行的数据库,包括MySQL、PostgreSQL、Oracle、Sybase、Informix和MicrosoftSQLServer。PHP是完全免费的开源产品,不用花钱,你可以从PHP官方站点(http://ww)自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。Apache和MYSQL也是同样免费开源,在国外非常流行。PHP和MYSQL搭配使用,可以非常快速的搭建一套不错的动态网站系统,因此国外大多数主机系统都配有免费的APACHE+PHP+MYSQL。通常认为这种搭配的执行效率比IIS+ASP+ACCESS要高,而后者的使用还必须另外交钱给微软。PHP具有如下的优点:1.学习简单:只需要了解一些基本的语法和语言特设,就可以开始使用PHP。数据库连接方便:PHP可以编译成具有与许多数据库相连接的函数。PHP与MYSQL是现在绝佳的组合。可以编写外围的函数间接存取数据库。这样当更换使用的数据库时,可以轻松的更改编码以适应这样的变化。PHPLIB就是最常用的可以提供一般事务需要的一系列基库。2.扩展性强:PHP已经进入了一个高速发展的时期,具有良好的扩展附加功能。可以进行面向对象编程:PHP提供了类和对象,基于WEB的编程工作非常需要面向对象编程能力。PHP支持构造器、提取类等。总之,PHP技术具有免费、跨平台、可加密、开发效率高等优点,在编写小型的网站系统时较之ASP、JSP等技术有一定优势。2.3PHP工作原理PHP的所有应用程序都是通过WEB服务器(如apache)和PHP引擎程序解释执行完成的,工作过程:1.当用户在浏览器地址中输入要访问的PHP页面文件名,然后回车就会触发这个PHP请求,并将请求传送给支持PHP的WEB服务器。2.WEB服务器接受这个请求,并根据其后缀进行判断。如果是一个PHP请求,WEB服务器从硬盘或内存中取出用户要访问的PHP应用程序,并将其发送给PHP引擎程序。3.PHP引擎程序将会对WEB服务器传送过来的文件从头到尾进行扫描并根据命令从后台读取,处理数据,并动态地生成相应的HTML页面。4.PHP引擎将生成HTML页面返回给WEB服务器。WEB服务器再将HTML页面返回给客户端浏览器。2.4B/S结构在当前Internet/Intranet领域,“浏览器/服务器(简称B/S)”结构是非常流行的客户机/服务器结构。在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构简化了客户机的工作,客户机上只需配置少量的客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生产等工作全部由WebServer完成。实际上B/S体系结构是把二层C/S结构的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器单独组成一层来负担其他任务,这样客户机的压力减轻了,把负荷分配给了Web服务器。这种三次体系结构如图2.1所示。图2.1B/S三层体系结构这种结构不仅把客户机从沉重的负担和不断对其提高的性能的要求中解放来,也把技术维护人员从繁重的维护升级工作中解脱出来。由于客户机把事务处理逻辑部分分给了功能服务器,使客户机一下子“苗条”了许多,不再负责处理复杂计算和数据访问等关键事务,只负责显示部分,所以维护人员不再为程序的维护工作奔波于每个客户机之间,而把主要精力放在功能服务器上程序的更新工作。这种三层结构在层与层之间相互独立,任何一层的改变不会影响其它层的功能。2.5数据库技术数据库是数据和数据库对象的集合,其中数据库对象指表(Table)、视图(View)、存储过程(StoredProcedure)和触发器(Trigger)等。数据库通过SQL(StructuredQueryLanguage)来对数据进行操作和管理,这里包括一些基本的操作如select、delete、insert、update语句。ADO(ActiveXDataObjects)是微软开发数据库应用程序的数据库访问技术。它被设计用来同新的数据库访问层OLEDBProvider一起协同工作,以提供通用数据访问(UniversalDataMySQL)。OLEDB是一个底层的数据库访问接口,用它可以访问各种数据源,包括传统的关系数据库。ADO封装了OLEDB程序中使用的大量COM接口,所以是一种高层访问技术。MySQL是一个快速、多线程、多用户的小型关系型数据库管理系统。它支持正规的SQL查询语言和采用多种数据类型,能对数据进行各种详细的查询等。MySQL提供了一全套的数据库创建和访问机制,通过很直观的方式就可以创建、访问、修改数据库的表和项,并且能建立它们之间的各种数据关系。MySQL系列从90年代就发展起来,经过了多年的反展,它已经成为非常成熟的技术,面向中小型企业级应用。MySQL数据库的特点是数据库文件小而简单,不需要运行或者启动数据库服务进程就可以使用。通常MySQL数据库文件可以随网页文件一起方便地放在网站的目录中,正是由于这些特点,MySQL数据库通常被用来作为网站开发的数据库支持技术。对MySQL数据库的管理采用图形化管理工具phpMyAdmin。phpMyAdmin是一个用PHP编写的、基于Web的、跨平台的MySQL管理程序,支持简体中文,使用Web浏览器作为管理界面。通过phpMyAdmin可以进行绝大部分的MySQL操作,包括对数据库级操作,表级操作,以及数据管理等。2.6Apache技术Apache是最流行的Web服务器端软件之一。快速、可靠、可通过简单的API扩展,Perl/Python解释器可被编译到服务器中,完全免费,完全源代码开放。Apache服务器拥有以下特性:1支持最新的HTTP/1.1通信协议拥有简单而强有力的基于文件的配置过程;2支持通用网关接口;3支持基于IP和基于域名的虚拟主机;4支持多种方式的HTTP认证;5集成Perl处理模块;6集成代理服务器模块;7支持实时监视服务器状态和定制服务器日志;8支持服务器端包含指(SSI);9支持安全Socket层(SSL);10提供用户会话过程的跟踪;11支持FastCGI;通过第三方模块可以支持JavaServlets。2.7JavaScript语言JavaScript语言是一种基于对象(Object)和事件驱动(EventDriven)并具有安全性能的脚本语言。使用它的目的是与HTML超级文本语言、JavaApplet(Java小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用,从而达到开发客户端应用程序的目的。JavaScript是通过嵌入或调入在标准HTML语言中实现,它的出现弥补了HTML语言的缺陷。在JavaScript语言的配合下,能够运用PHP技术开发出非常漂亮而且交互性强大的动态Web网站来。

3.系统可行性分析设计3.1开发的目的和背景一个典型的信息发布网站必需实现信息的发布与浏览,即网站只是一个平台,相对于传统的平面媒体,如报纸杂志等。分类信息网站是相当于分布者与浏览者中的一个平台,是一个媒介。网站必须包含最基本的浏览发布功能,以及管理员对网站的管理等。所谓分类信息,就是必须提供精确高效的分类定位。用户发布的信息要能够方便快捷的被查看到,精确的分类是必不可少的。用户快速浏览信息也是通过分类列表来查看到自己想要的信息的。3.2目标设计通过分析,所要设计的分类信息网站所要实现的功能如下:1.分类信息显示(1)显示全部分类信息(2)按类别显示分类信息(3)显示分类详细信息2.分类信息搜索(1)分类信息通过搜索引擎搜索(2)分类信息通过类别搜索(3)分类信息内容通过关键字搜索3.分类信息发布(1)选择分类(2)发布信息(3)会员发布4.会员注册登陆(1)会员注册(2)会员登陆(3)会员管理5.信息管理(1)查看信息详细(2)修改信息(3)删除信息6.会员管理(1)查看会员信息(2)删除会员(3)修改会员信息7.分类管理(1)添加分类(2)修改分类(3)删除分类以上包含了所要操作的发布、浏览、管理的基本功能。所要实现的目标就是能正确的实现上述功能。3.3系统功能分析与设计根据目标设计,知道系统要实现四大功能:浏览,发布,搜索和管理。因此系统功能设计共分为4个模块:信息显示模块、信息搜索模块、会员管理模块、管理员管理模块。网站的功能模块划分如图3.1所示。图3.1功能模块划分功能模块的划分利于目标设计的实现,此后的数据库等设计等都将参考功能模块。3.4系统的其它可行性前面主要对功能模块做了划分,通过对传统系统和要开发的系统分析了系统开发的可行性,下面将从其它一些辅助可行性来进一步分析和说明。1.技术可行性本系统主要由PHP作为主要开发技术,PHP已经流行和发展了数年,技术相对比较成熟,开发系统稳定可靠。系统采用优秀的关系型数据库管理系统MYSQL作为后台数据库,能和Linux、Windows以及当前各种系统很好的兼容搭配。其它辅助网站设计的技术相当丰富,相应开发环境和工具也一应俱全,比如用于网页界面设计的DreamweaverCS3,还有一些图形处理软件如PhotoshopCS2等都是相当成熟和简便的开发工具。2.性能效益可行性所开发的系统基本能满足个人或企业的信息发布,在处理运算速度、存储量以及响应时间上完全能满足系统要求。3.硬件可行性系统所采用的技术和平台都是比较成熟和已经发展数年的,目前的硬件配置一般都足以满足系统的运行要求。系统的基本硬件要求:网络中的服务器(服务器要求能提供空间和支持动态网络技术以及MySQL数据库)、客户端电脑(具有基本多媒体功能和设备)、支持PHP架构的工作和系统平台(Linux)、支持PHP架构的能处理动态网页技术的浏览器(Firefox等具备解释PHP技术的浏览器)。3.5可行性结论综上所述,作为毕业设计的一个项目,简要讨论分析了系统的各种可行性,并且各项可行性上完全满足开发要求,可以开始进一步的工作。4.需求分析及详细设计4.1网站设计技术及工具需求整个网站是一个动态交互式的网站,网站必须要利用交互式的设计语言编写。网站的管理和信息的存储都是通过数据库来实现的。选择基于php动态网页和基于mysql的数据库系统来实现基本功能和模块。利用Apache建立本地站点。4.2数据库需求分析与设计1.数据表需求根据功能模块:信息浏览模块,会员模块,管理模块,还有一个分类模块,数据库中应该包含一个信息表,一个会员表,一个管理员表和一个分类表,分别用来存放分类信息,会员信息,管理员信息,类别信息。这样数据库中就至少要有四个表。2.数据表设计表4.1信息表字段名类型描述Msg_idINT发布信息的编号msg_nameVARCHAR(50)发布信息的标题msg_contentLONGTEXT发布信息的内容Msg_ownerVARCHAR(20)发布者msg_typeINT发布信息所属分类Msg_imgurlVARCHAR(50)发布信息的图片urlMsg_timeDATETIME()发布时间Msg_hitint浏览次数信息表中应该包含信息编号,信息表题,信息内容,信息分类,信息作者,和信息的发布时间,联系方式等,见表4.1。会员表,包括会员编号,会员ID,会员密码,会员的联系方式等,见表4.2。

表4.2会员表字段名类型描述U_nameVARCHAR(20)用户名U_passwordVARCHAR(20)密码U_is_onlineint表示用户在线状态0是离线,1是在线U_gradeint用户级别1,2,3,4……U_mailvarchar(30)用户邮箱管理员表,包括管理员的账号和密码等,见表4.3。表4.3管理员表字段名类型描述IdVARCHAR(20)账号passwordVARCHAR(20)密码分类表,用来存放分类类别信息,见表4.4。表4.4分类表字段名类型描述idINT分类编号nameVARCHAR(20)分类名称4.3程序设计部分4.3.1.会员注册模块后台代码<?php $name=trim($_POST[uname]); // 接收表单中的数据 $pwd=trim($_POST[password]); //获取密码 $pwd0=trim($_POST[password0]); //获取重复的密码 $email=trim($_POST[email]); //获取E-mail地址 if($name==''or$pwd==''or$pwd0==''or$email=='') //判断是否填写完整 { echo"请完善您的信息!<br>"; } elseif($pwd!=$pwd0) //判断两次密码的一致性 { echo"两次密码输入不一致!请重新输入!<br>"; } else { $query="SELECT*FROMuser_msgWHEREu_name=\"$reg_name\""; //判断用户名是否已存在 $ynname=mysql_query($query,$link); $rows=mysql_num_rows($ynname); if($rows) { echo"此用户名(<fontcolor=red>".$name."</font>)已存在!"; }else //用户名不存在时插入用户输入的信息 { $Iquery="INSERTINTOuser_msg(u_name,u_password,u_mail)VALUES(\"$reg_name\",\"$reg_pwd\",\"$reg_mail\")"; $result=mysql_query($Iquery,$link); if($result) { $_SESSION[admin]=$name; echo"<scriptlanguage='javascript'>alert('注册成功!');window.location.href='index.php';</script>"; //提示注册成功,确定后跳转到首页}}}?>会员注册模块前台界面如图4.1所示。图4.1会员注册模块前台界面4.3.2系统登陆模块<?phpsession_start();include_once("functions/main.php");$name=$_POST['login_name']; //获取用户提交的登录名$name=trim($name); //去除用户输入的空格$password=$_POST['login_pwd']; //获取用户输入的密码$password=trim($password); //去除空格$query="SELECT*FROMuser_msgwhereu_name=\"$name\"andu_password=\"$password\""; open_con(); //sql语句//打开数据库连接,该函数来自"functions/main.php"文件 $result=mysql_query($query)ordie("打开数据库错误!错误代码:login_d");//执行查询语句 $myresult=mysql_fetch_array($result); //获得查询结果if(!empty($myresult)) //判断账号密码是否正确{$query1="UPDATEuser_msgSETu_is_online='1'WHEREu_name=\"$name\"";//改变用户登录状态值;mysql_query($query1);$grade=$myresult['u_grade']+1; //用户等级+1;$query2="UPDATEuser_msgSETu_grade=".$grade."WHEREu_name=\"$name\"";mysql_query($query2);$money=$myresult['u_money']+5; //用户金币+5;$query3="UPDATEuser_msgSETu_money=".$money."WHEREu_name=\"$name\"";mysql_query($query3);close_con();$_SESSION["username"]=$name; //设置全局变量,保存用户资料$_SESSION["usergrade"]=$grade;$_SESSION["usertype"]=$myresult['u_type'];$_SESSION["usermoney"]=$money;header("Location:index.php"); //跳转到首页}elseif(empty($myresult)) //如果登录失败,给出提示{ echo"<script>alert('登录失败!用户名或密码错误!')</script>"; echo"<scriptlanguage='JavaScript'> location.href='login.php';</script>";}else{echo"<br/><center>未知错误!错误代码:login_d";}?>系统登陆模块前台界面如图4.2所示。图4.2系统登陆模块前台界4.3.3信息发布模块<?phpsession_start();include_once("functions/main.php");$c_id=$_POST['c_id'];$t_id=$_POST['t_id'];$msgname=$_POST['msgname'];$phonenum=$_POST['phonenum'];$name=$_POST['name'];$content=$_POST['content'];$username=$_SESSION['username'];open_con();//打开一个数据库连接$query="INSERTINTOmsg(msg_name,msg_content,msg_owner,msg_type,msg_time,msg_phone)VALUES(\"$msgname\",\"$content\",\"$username\",$t_id,now(),$phonenum)"; //sql语句mysql_query($query); //向数据库中写入数据close_con(); //关闭数据库连接?><scriptlanguage='JavaScript'> alert('发布成功,是否返回首页!') location.href='index.php'; //发布成功返回首页</script>信息发布模块前台界面如图4.3所示。图4.3信息发布模块前台界面(左)和图4.4导航菜单(右)4.3.4后台管理模块后台管理界面主要分为4大部分,分别是顶部的logo、左侧的导航菜单、中部的主要内容区和底部的网站版权信息,左侧的导航菜单如图4.4所示。1.用户管理:用户管理分添加用户、用户信息查看和设置密码,如图4.5和4.6所示。图4.5用户信息查看图4.6添加用户和修改密码2.信息管理:信息管理又分为信息的添加、查看、删除和修改。3.分类管理:分类管理分为分类的添加、修改和删除,如图4.7所示。图4.7添加、删除和修改分类4.系统管理:系统管理分为管理员的添加和删除。

4.4网站文件结构根据网站的需要建立了各个目录和文件,见表4.3。表4.3网站目录结构文件夹/文件名描述/网站根目录/index.php网站主页/login.php登录页面/login_d.php登录处理页面/regist.php注册页面/regist_d.php注册处理页面/about.php关于我们/list_class_msg.php板块列表/list_msg.php信息列表/show_msg.php显示信息/admin/change_pwd.php改变管理员密码/admin/index.php管理员主页/admin/manage_class.php管理员管理板块/admin/manage_msg_type.php管理信息类型/admin/manage_user.php用户管理/css/main.css网站css/error/*错误处理输出文件夹/function/main.php网站function/images/*网站图片/userhome/change_pwd.php修改个人密码/userhome/msg.php站内信息/userhome/myfriends.php我的好友/userhome/user_home.php用户主页

5.系统配置和发布运用PHP对系统进行开发和应用,必须首先安装和配置好相应的开发环境和支持组件。本章主要介绍系统相关环境的配置和开发后系统的发布情况以及运行效果。5.1应用环境配在这里开发所用的系统是CentOS6.0,它本身已经拥有了php、mysql和Apache。它不像微软的xp以及其他系统那样的繁琐和复杂,我们只需输入几条简短的命令启动这几项服务即可,在终端中输入servicemysqldstart即可启动mysql服务器,而启动Apache服务器的命令则是servicehttpdstart。命令执行完毕后,打开浏览器,在浏览器地址栏中输入http://localhost,回车显示画面,如图5.1所示,表示Apache已经正常

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论