基于phpcms的汽车内容管理系统
摘要:随着网络发展,数字化、信息化、智能化
关键PHP,phpcmsAutomobile Content Management System Based on Phpcms
Author:Chu Longhui
Tutor:YinZhiyu
Abstract:With the development and popularization of Internet, people have higher requirements of Internet technology. People not just want to read news, send and receive e-mail, but also want to do more things with the Internet. The increasingly busy people start to use the Internet without leaving home to see more professional information,so they can shopping online. For car sales companies, they hope the masses can timely know about the information of their products and can trade through the Internet.
This paper mainly discusses the development environment, and the system development process and functional implementation. Described in detail below:
Automobile content management system achieves a number of management articles, information, intelligence. It can timely publish and update information. People could also see the car pictures by the content management system. The images can be more understanding of cars. The system can promote car sales companies by ads. And car sales companies can publish their own 4S shop, so that more customers will see the company’s product information. In our system, customers also can easily register as a member of this system, visit and select the car information, then they can buy the goods which is their like. The system will automatically generate orders for customers. System administrators can manage the stores which is existing, and review the registered users, and process the submit orders.
Keywords: PHP,phpcms,auto,MySQL
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作 者 签 名: 日 期:
指导教师签名: 日 期:
使用授权说明
本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名: 日 期:
学位论文原创性声明
本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。
作者签名: 日期: 年 月 日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名: 日期: 年 月 日
导师签名: 日期: 年 月 日
目录I
1绪论 1
1.1 课题背景 1
1.2 目的和意义 1
1.3 论文主要内容 2
2环境安装 3
2.1集成环境安装 3
2.2 phpcms环境安装 3
3 PHP语言 9
3.1 PHP简介 9
3.2 PHP优点 9
4 MySQL数据库 11
4.1 MySQL数据库简介 11
4.2 MySQL的特点 11
5 APACHE WEB 服务器 12
5.1 Apache 的发展历史 12
5.2 Apache的工作原理 12
5.3 Apache服务器的特点 13
6系统需求分析及总体规划 15
6.1 系统需求分析 15
6.2 可行性分析 15
6.3 系统总体规划 16
6.4 系统功能简介 16
7 数据库设计 17
7.1 数据库技术概述 17
7.2 数据库中表设计 17
8 详细设计和代码实现 22
8.1汽车模块安装程序 22
8.2汽车模块卸载程序 23
8.3用户登录代码 24
8.4汽车4S店信息发布 27
8.5中文标签调用新闻、广告、汽车商店信息 29
9 总结 34
参 考 文 献 35
英文摘要、关键词 II
1 绪论
1.1 课题背景
2个方向,第一是电子商务网站,是企业开向互联网的一扇窗户;其次就是管理信息系统,它是企业内部信息的组织管理者。
企业门户代表着IT技术应用的新浪潮,它必将成为企业信息化建设的新思维方式。企业门户不只是一个IT技术工具,更是一个发展的战略。在国外,特别是在美国,实施企业门户战略不只是空谈,它已经被列入了许多大企业的日程表中。与国外的热闹场面相比,国内了解企业门户概念的企业很少,而计划建立企业门户的企业就更加微乎其微。但是应该看到,互联网在国内的发展速度相当迅速,据CNNIC统计, 1997年12月中国只有60万人上网, 而到1999年12月,上网人数就达900万人, 2000年底超过2000万,截至到2005年6月30日,我国上网用户总数突破1亿,为1.03亿人,半年增加了900万人。而其中,大多数网民上网时首选网站当然是SINA,YAHOO,SOHU和NETEASE等几个信息门户。如此多网民的眷顾,对上述网站当然意味着商机无限,但对于其它企业则是一大损失。由此,中国企业建立自己的门户网站,为自己的客户、员工和代理商提供综合性的服务的重要性不言而喻,而怎样成功、高效地建设一个企业门户网站已是一个迫切值得思考的问题。
本文是针对企业门户网站中的汽车模块所建立的汽车内容管理系统,以Apache+MySQL+PHP作为技术支持,在PHPCMS管理系统核心框架的基础上开发的汽车内容管理系统,可以及时的更新企业的新闻,图片,广告,用户注册登录后,可以再会员中心进行汽车4S商店的发布、管理和编辑,信息发布完后浏览者在前台可以看到商店的基本信息,也可以对该商店的销售、服务进行评论。
1.2 目的和意义CMS对站点管理和创造编辑都有好处。这其中最大的好处是能够使用模板和通用的设计元素以确保整个网站的协调。作者只需在他们的文档中采用少量的模板代码,即可将精力集中于设计内容了。要改变网站的外观,管理员只需修改模板而不是一个个单独的页面。
CMS也简化了网站的内容供给和内容管理的责任委托。很多CMS允许对网站的不同层面人员赋予不同等级的访问权限,这使得他们不必研究操作系统级的权限设置,只需用浏览器接口即可完成。
在Internet交互过程中,只有1/10涉及销售,其他9/10都和信息交互有关,员工的知识获取越来越依赖于互联网,特别是在电子商务的个性化环境中,客户为了做出购买决定,需要智能化地获取信息,不仅仅是商品的数量和价格,更重要的可能是产品的手册、安全保证、技术指标、售后服务、图片文件等。
无论在企业内网还是外网,信息的更新越来越快,企事业单位的信息产生量越来越多,且呈现成倍增长的趋势,企事业单位更需要的是一个功能强大、可扩展的、灵活的内容管理技术来满足不断的信息更新、维护,这时如何保证信息的准确性和真实性将越来越显得重要。
1.3 论文主要内容phpcms2007框架,按照软件开发流程设计,从需求分析到编码设计,系统的论述了汽车内容管理系统的开发过程。
第一章:主要论述了设计的背景及目的。
第二章:介绍了本系统设计的主要开发环境及怎样安装。
第三章:介绍了本系统的开发语言,数据库,服务器。
第四章:对系统进行了全面的需求分析。
第五章:根据需求对数据库进行了设计。
第六章:系统的详细设计与实现,关键代码的参考,从代码描述了功能的实现。
第七章:系统总结。总结系统开发中所遇到的问题,以及自己解决问题的方法。最后阐述了该系统的优缺点。
2环境安装
2.1集成环境安装
本网站系统使用PHP 集成环境包将压缩包解
压,并将解压后的放到D盘或者E盘或者F下,进入到文件后双击会弹出如图2.1所示。
图2.1 集成环境界面
在途中的端口后面填写8080然后点击启动APMServ按钮。这时APACHE、MySQL2.2 phpcms环境安装
将PHPCMS2007压缩包解压后,将拷贝到PHP集成环境文件夹下的文件夹下的文件夹下,安装Dreamveaver8软件,然后打开Dreamveaver8新建一个站点,在菜单栏中点击站点,选择新建站点会弹出如图2.2对话框。
图2.2 站点命名及URL地址对话框
按照自己的习惯给站点命名,这里我命名为phpcms然后根据集成环境中的端口填写站点的HTTP地址:8080,按下一步如图2.3按照图2.3做法选择PHP MySQL,再按下一步如图2.4。
图2.4 站点存储位置编辑对话框
选择在本地进行编辑和测试(我的测试服务器是这台计算机)(E)然后选择phpcms2007解压的phpcms文件夹算在的位置。然后点击下一步如图2.5。
按照图2.5填写,再按下一步选择否,站点建立完成。在IE浏览器中的地址栏中打入:8080/phpcms/install.php 安装phpcms2007图2.6
图2.6 phpcms2007安装向导第一步
点击下一步,如图2.7所示2.8所示
图2.8 phpcms2007程序初始化设置
这里填写数据库服务器为localhost,数据库账号默认为root,数据库密码默认为空,数据库名称填写phpcms,点击下一步如图2.93 PHP语言
3.1 PHP简介
PHP,一个的缩写名称,是英文预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种 HTML内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,充分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户再一次访问这个程序时就不需要重新编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一。PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。
PHP 最初是1994年Rasmus Lerdorf创建的,刚刚开始只是一个简单的用Perl语言编写的程序,用来统计他自己网站的访问者。后来又用C语言重新编写,包括可以访问数据库。在1995年以Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本,Lerdorf写了一些介绍此程序的文档,并且发布了PHP1.0。在这早期的版本中,提供了访客留言本、访客计数器等简单的功能。以后越来越多的网站使用了PHP,并且强烈要求增加一些特性,比如循环语句和数组变量等等,在新的成员加入开发行列之后,在1995年中,PHP2.0发布了。第二版定名为PHP/FI(Form Interpreter)。PHP/FI加入了对MySQL的支持,从此建立了PHP在动态网页开发上的地位。到了1996年底,有15000个网站使用 PHP/FI;时间到了1997年中,使用PHP/FI的网站数字超过五万个。而在1997年中,开始了第三版的开发计划,开发小组加入了 Zeev Suraski 及 Andi Gutmans,而第三版就定名为PHP3。2000年,PHP4.0又问世了,其中增加了许多新的特性。PHP的非常简单的学习过程。与Java和Perl不同,你不必把头埋进100多页的文档中努力学习才可以写出一个象样的程序。只要了解一些基本的语法和语言特色,你就可以开始你的PHP编码之旅了。之后你在编码过程中如果遇到了什么麻烦,还可以再去翻阅相关文档。
PHP的语法类似于C,Perl,ASP或者JSP。对于那些对上述之一的语言较熟悉的人来说,PHP太简单了。相反的,如果你对PHP了解较多,那么你对于其他几种语言的学习都很简单了。
你只需要很短的时间内将PHP的核心语言特点全部掌握,你可能已经非常了解HTML,甚至你已经知道怎样用编辑设计软件或者手工来制作好看的WEB站点。由于PHP代码能够无障碍的添加进你的站点,在你设计和维护站点的同时,你可以很轻松的加入PHP使得你的站点更加具有动态特性。
(2)数据库连接
PHP可以编译成具有与许多数据库相连接的函数。PHP与MySQLApache服务器,就是相当完美的了。你还可以自己编写外围的函数取间接存取数据库。通过这样的途径当你更换使用的数据库时,可以轻松的更改编码以适应这样的变化。PHPLIB就是最常用的可以提供一般事务需要的一系列基库。
(3)可扩展性
就像前面说的那样,PHP已经进入了一个高速发展的时期。对于一个非程序员来说为PHP扩展附加功能可能会比较难,但是对于一个PHP程序员来说并不困难。
(4)面向对象
PHP提供了类和对web的编程工作非常需要面向对象编程能力。
(5)可伸缩性
传统上网页的交互作用是通过CGI来实现的。CGI程序的伸缩性不很理想,因为它为每一个正在运行的CGI程序开一个独立进程。解决方法就是将经常用来编写CGI程序的语言的解释器编译进你的web服务器(比如mod_perl,JSP)。PHP就可以以这种方式安装,虽然很少有人愿意这样以CGI方式安装它。内嵌的PHP可以具有更高的可伸缩性4 MySQL数据库
4.1 MySQL数据库简介
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracal收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL的官方网站的网址是:
1)使用C和C++编写,并使用了多种进行测试,保证源代码的可移植性 2)支持AIX、、HP-UX、、Mac OS、 Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统
为多种编程语言提供了API。这些编程语言包括、C++、Eiffel、Java、、、Python、Ruby和Tcl等。
支持,充分利用CPU资源
优化的查询算法,有效地提高查询速度
既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名
提供TCP/IP、ODBC和JDBC等多种数据库连接途径
提供用于管理、检查、优化数据库操作的管理工具
(9)可以处理拥有上千万条记录的大型数据库5 APACHE WEB 服务器
随着网络技术的普及、应用和Web技术的不断完善,Web服务已经成为互联网上重要的服务形式之一。原有的客户端/服务器模式正在逐渐被浏览器/服务器模式所取代。本章将重点介绍Web面临的主要威胁,并结合在Linux中使用最多的Apache服务器,介绍进行Web服务器安全配置的技巧。
Apache 的发展历史
Apache源自于NCSA(University of Illinois, Urbana-Champaign)所开发的httpd。在1994年中期,许多Web主管自行发展自己的外加功能及修正码。一小批的Web主管通过私人电子邮件聚集在一起来实现他们的改变(以“patches”,即补丁的形式出现)。在1995年2月底,八位核心贡献者成立原始的Apache组织(取自A PAtCHE),1995年4月,Apache 0.6.2公布。
在1995年5月到7月,一个新的服务器架构被开发出来(程序名为Shambhala),包含了模块结构及API。这个服务器架构是基于存储池的存储器配置及要调整的预设分支处理模式开发的。这个开发群体在7月份将此服务器架构转换到新的服务器上,并为Apache 0.7.x新增特色,于8月推出了Apache 0.8.8。在一年之内,Apache服务器超过了NCSA的httpd成为Internet上排名第一的服务器。
Apache的强项是极大的市场占有率:Apache是今天网际网络金字招牌第一号,远远将竞争者抛在后面。特别是,Apache市场占有率表现出几个使对方望尘莫及的优势:
① 起源于HTTP协议——降低了用户加入协议来支援新的应用软件的门槛;
② 给UNIX/Linux带来生机——Apache走到哪里,UNIX/Linux就走到哪里;
③ 支援厂商的支持,为Apache提供的工具/模块持续成长。
特别是IBM宣布将把Apache作为其WebSphere应用服务器的一部分,这一轰动的宣布被商业报纸称为是开放源代码软件的一次突破。Apache的工作原理Web系统是客户端/服务器式的,所以应该有服务器程序和客户端程序两部分。常用的服务器程序是Apache;常用的客户端程序是浏览器(如IE、Netscape、Mozilla)。我们可以在浏览器的地址栏内输入统一资源定位地址(URL)来访问Web页面。Web最基本的概念是超文本(Hypertext)。它使得文本不再是传统的书页式文本,而是可以在阅读过程中从一个页面位置跳转到另一个页面位置。用来书写Web页面的语言称为超文本标记语言,即HTML。WWW服务遵从HTTP协议,默认的TCP/IP端口是80,客户端与服务器的通信过程简述如下:
(1)客户端(浏览器)和Web服务器建立TCP连接,连接建立以后,向Web服务器发出访问请求(如get)。根据HTTP协议,该请求中包含了客户端的IP地址、浏览器的类型和请求的URL等一系列信息。
(2)Web服务器收到请求后,将客户端要求的页面内容返回到客户端。如果出现错误,那么返回错误代码。
(3)断开与远端Web服务器的连接。
下面是一个客户端发送给Web服务器请求的数据包的内容:
GET /engineer/ideal/list.htm HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,
application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*
Referer: /engineer/ideal/
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
Host:
Connection: Keep-Alive
从代码中可以看到,在客户端的请求里包含了很多有用的信息,如客户端类型等。Web服务器会将请求的Web页内容发送返回给客户端。HTTP/1.1说明:HTTP/1.1(超文本链接协议1.1版本)是HTTP协议的最新版本。HTTP协议是运行在TCP/IP协议组上的万维网应用协议。
5.3 Apache服务器的特点
Apache的主要特征如下。
(1)支持HTTP/1.1协议。Apache是最先使用HTTP/1.1协议的Web服务器之一,它完全兼容HTTP/1.1协议并与HTTP/1.0协议向后兼容。Apache已为新协议所提供的全部内容做好了必要的准备。
CGI)。Apache用mod_cgi模块来支持CGI,它遵守CGI/1.1标准并且提供了扩充的特征,如定制环境变量和很难在其他Web服务器中找到的调试支持功能。
支持HTTP认证。Apache支持基于Web的基本认证,它还为支持基于消息摘要的认证做好了准备。Apache通过使用标准的口令文件DBM SQL调用,或通过对外部认证程序的调用来实现基本的认证。
集成的Perl语言。Perl已成为CGI脚本编程的基本标准。Apache肯定是使Perl成为这样流行的CGI编程语言的因素之一,现在Apache比以往任何时候都更加支持Perl,通过使用它的mod_perl模块你可以将基于Perl的CGI脚本装入内存,并可以根据需要多次重复使用该脚本。这消除了经常与解释性语言联系在一起的启动开销。
5)集成的代理Proxy服务器。Apache可作为前向代理服务器也可作为后向代理服务器。
服务器的状态和可定制的日志。Apache在记录日志和监视服务器本身状态方面向你提供了很大的灵活性,可以通过Web浏览器来监视服务器的状态,也可根据自己的需要来定制日志。
(7)允许根据客户主机名或IP地址限制访问。
(8)支持CGI脚本,如Perl, PHP等。
(9)支持用户Web目录。Apache允许主机上的用户使用特定的目录存放用户自己的主页。可以通过如下URL地址来访问,如用户zhang,http://hostname~/zhang。
支持虚拟主机。即通过在一个机器上使用不同的主机名来提供多个HTTP服务。Apache支持包括基于IP、名字和Port三种类型的虚拟主机服务。
。Apache的模块可在运行时动态加载,这意味着这些模块可以被装入服务器进程空间,从而减少系统的内存开销。
支持服务器包含命令SSI。Apache提供扩展的服务器包含命令该项功能,为Web站点开发人员提供了更大的灵活性。
支持安全Socket层(SSL)用户会话过程的跟踪能力。通过使用HTTP cookies,一个称为mod_usertrack的Apache模块可以在用户浏览Apache Web站点时对用户进行跟踪。
(15)支持FastCGI。Apache使用mod_fcgi模块来实现FastCGI环境,并使FastCGI应用程序运行得更快。
(16)支持Java Servlets。Apache的mod_jserv模块支持Java Servlets该项功能,可使Apache运行服务器的Java应用程序。
。当负载增加时,服务器会快速生成子进程来处理,从而提高系统的响应能力。6系统需求分析及总体规划
6.1 系统需求分析
通过调查企业门户网站,要求汽车内容管理系统具有一下功能:
展示企业形象。
展示企业销售车辆、汽车4S店相关信息。
提供客户投票及企业客户服务热线。
提供销售车辆的查询功能,方便用户查询汽车的相关信息。
提供汽车4S店管理功能,方便用户使用。
通过网站后台,对网站前台信息进行全面管理。
通过进后台管理企业的新闻信息。
通过进后台管理企业的图片信息。
通过进后台管理企业的广告信息。
通过后台对销售企业门户网站,为汽车4S店在网络上提供了一个全面展示企业形象的平台,使汽车用户更加的了解企业的动态信息。满足客户的在线查询车辆4S店信息、查看最新汽车新闻动态要求。网站能够为汽车企业做宣传,提升企业在客户中的形象,吸收更多的客户,使企业和客户联系更加的紧密,提高企业的经济效益。同时也可以提升网站的点击率与查看率,可以为网站带来收益。
系统要实现对汽车内容的管理系统,主要是对汽车的新闻,图片,广告,4S店进行增加删除修改的管理。本系统以phpcms2007为框架结合Dreamweaver软件,及MySQL数据库进行网站设计。在phpcms2007中自带新闻图片的数据表,我们在对本系统进行开发时,只需建立汽车4S店的各个数据表即可。模块建立简单,要使新闻可以动态变化,更新及时,只需要建立模板,潜入标签,当这些工作都完成是,更新就会非常方便。综上所述,该系统无论在技术上、经济上和管理上均具备开发的可行性,在有限的时间内开发出较为完善合理系统,可以满足需要。
(1) 前台管理模块
该模块主要包括:用户注册、用户登录、最新新闻、最新图片、广告和汽车4S商店展示。
(2) 后台管理模块
该模块的主要包括:后台登录、汽车4S店管理、新闻信息管理、新闻图片管理、注册用户管理。用户可以浏览网站发布的最新汽车新闻动态,最新汽车图片,汽车4S店信息。用户注册登录后可以发布自己的4S店网站管理员可以在PHPCMS后台进行发布汽车最新新闻,最新图片信息,管理新闻,图片,删除新闻及图片信息。管理注册用户发布的汽车商店信息。管理网站的会员。
超级管理员可以设置权限,给普通管理员分配任务,分别管理不同的内容。
注册会员可以在本系统发布自己的汽车4S商店信息,信息发布后录入到网站的数据库信息发布完后网站管理员对注册会员发布的信息进行审核,审核通过后可以在前台显示最新发布的商店信息,用户可以根据自己的需求查看这些汽车商店信息,还可以对查看的4S店进行评论。7 数据库设计
7.1 数据库技术概述
数据库(DataBase),是按照数据结构来组织、存储和管理数据的仓库,是一个用来查询数据的并对数据修改的仓库。使用数据库有如下特点:
数据共享:多用户、多种应用程序、多种语言相互覆盖地共享数据集合面向全组织的数据结构化,数据库系统不仅描述了数据本身的特性,而且也描述了数据与数据之间的种种联系。
数据独立性:这也是数据库的重要特性之一,那就是数据独立于应用程序而存在,数据与程序相互独立,互不依赖,不因一方的改变而使另一方随之改变。这大大简化了应用程序的设计与维护的工作量。
可控数据冗余:数据共享、结构化和数据独立性的优点使数据存储不必重复,不仅可以节省存储控件,而且从根本上保证了数据的一致性,但有时为了提高检索速度,常有意安排若干冗余,而这种冗余是由用户来控制的。
统一数据控制功能:数据库是系统中各用户的共享资源,因而计算机的共享一般是并发的。因此,系统必须提供数据安全性控制、数据完整性控制、并发控制和数据恢复等数据控制功能。
总的说来,数据库设计要充分考虑以下几个条件:数据库信息要充分体现用户的需求;能够很容易的被数据库管理系统运行维护;数据一致性、完整性要好,没有更新异常。数据库的设计对系统的经济性、功能性和效率上有很大的影响,一个好的数据库在设计时应尽量避免数据冗余,但是还要提高检索速度。数据库在设计时速度与空间在范式上相互矛盾。一方面按规范化理论的要求,关系模式应该尽量取高级范式,尤其对记录的数据比较多的情况更要考虑这方面的影响,低级范式会造成大量空间的浪费;另一方面为了提高检索速度,要做到一个模式涉及的属性越多越好,相与运算越少越好,这样又取低级范式。因此在设计数据库的时候要充分讨论和了解了程序的使用范围,适用对象,清楚的掌握数据库系统的特点。7.2 数据库中表设计
在phpcms后台建立汽车新闻模块,会自动生成新闻表phpcms_article_11图7.1图7.1 表phpcms_article_11
其中主要的字段有文章id号articleid,文章标题typeid,文章摘要introduce,文章作者author,文章链接地址linkurl。
还会生成新闻文章数据表phpcms_article_data_11图7.2所示articleid与phpcms_article_11中的articleid关联,content是文章的内容。hpcms中还会自带广告位表phpcms_ads_place图7.3其中重要的字段为placeid是广告位的id号,placename为广告位的名称。
hpcms中与phpcms_ads_place相关的表为phpcms_ads,图7.4所示其中有广告的id号adsid,广告的名称,其中相关联的字段为placeid,每一个广告位可以添加多个广告,type字段是广告的类型,可以是图片,flash,文字。phpcms_auto_display表是汽车4S店基本信息如图7.5所示
图7.5 表phpcms_auto_display
其中重要的字段为displayid是4S店的id号,name为4S店的名称,还有一些字段是对应发布4S店的一些基本信息。phpcms_auto_cars4S店销售车型信息如图7.6所示
图7.6 表phpcms_auto_cars
phpcms_auto_hold表是汽车轮换图片信息,如图7.7所示
图7.7 表phpcms_auto_hold
phpcms_auto_member表是汽车商店员工信息,如图7.8所示
图7.8 表phpcms_auto_member
8 详细设计和代码实现
8.1汽车模块安装程序
在install文件夹下如图8.1所示创建数据库表
图8.1 install文件夹及各个文件
mysql.sql文件(数据库文件)按照需求分析写好mysql.sql文件。
config.php 是模块基本信息代码如下
?php
$module = auto;
$modulename = 汽车;
$introduce = 汽车信息,4s店系统;
$enablecopy = 0;
$isshare = 0;
$author = phpcms团队;
$authorsite = ;
$authoremail = phpcms@163.com;
?
打开phpcms2007后台进入系统设置界面,找到在图8.2中找到模块设置,点击安装模块后会显示如图8.3所示auto。点击下一步会显示确认模块信息,当确认无误后点击确认安装,则模块安装成功。点击模块管理,则汽车模块会出现在模块列表中如图8.4所示8.2汽车模块卸载程序
在unistall文件夹下创建如图8.5所示的文件
图8.5 unistall文件夹及各个文件
mysql.sql数据库卸载文件其代码为DROP TABLE IF EXISTS `phpcms_auto_member`,`phpcms_auto_display`,`phpcms_auto_pinglun`,`phpcms_auto_tuangou`,`phpcms_auto_hold`,`phpcms_auto_cars`;
ALTER TABLE `phpcms_member_info` DROP `my_auto_membertype`, DROP `my_auto_corpname`, DROP `my_auto_introduce`;
DELETE FROM phpcms_module WHERE module=auto;
DELETE FROM phpcms_menu WHERE name=汽车模块管理;
DELETE FROM `phpcms_channel` WHERE `channelname`=汽车;
出现模块列表,在列表中找到汽车模块如图8.4如图8.6所示
图8.6 卸载模块对话框
点击确定,则模块删除成功。
8.3用户登录代码
?php
define(SHOWJS, 1);
require ./include/common.inc.php;
if(!isset($forward)) $forward = $PHP_REFERER;
if(!isset($action)) $action = ;
switch($action)
{
case js:
if($_userid)
{
include template(member, login_show);
}
else
{
$select = array();
$cookietime = intval(getcookie(cookietime));
$cookietimes = array(0, 86400, 2592000,;
foreach($cookietimes as $v)
{
$select[$v] = $v == $cookietime ? selected : ;
}
$templateid=$PHPCMS[enableserverpassport]?login_form-passport:login_form;
include template(member, $templateid);
}
$CONFIG[phpcache] = 0;
phpcache(1);
break;
default:
if($PHPCMS[enableserverpassport])
{
$loginurl=$PHPCMS[passport_serverurl].$PHPCMS[passport_loginurl];
if($PHP_QUERYSTRING) $loginurl .= strpos($loginurl, ?) ? .$PHP_QUERYSTRING : ?.$PHP_QUERYSTRING;
elseif($username $password $dosubmit) $loginurl .= ?username=$usernamepassword=$passwordcookietime=$cookietimedosubmit=1;
header(location:.$loginurl);
exit;
}
if($dosubmit)
{
checkcode($checkcodestr,$MOD[enablecheckcodeoflogin], $PHP_REFERER);
$info = $member-login($password, $cookietime);
if(!$info)
{
showmessage($member-errormsg(), $PHP_REFERER);
}
Else
{
$forward=isset($forward)?linkurl($forward,1):$PHP_SITEURL;
if($PHPCMS[enablepassport])
{
$action = login;
if($PHPCMS[passport_charset]$PHPCMS[passport_charset]!= $CONFIG[charset])
{
require_once PHPCMS_ROOT./include/charset.func.php;
$info=convert_encoding($CONFIG[charset], $PHPCMS[passport_charset], $info);
}
extract($info);
require MOD_ROOT./passport/.$PHPCMS[passport_file]..php;
header(location:.$url);
exit;
}
showmessage($LANG[login_success], $forward);
}
}
else
{
$select = array();
$cookietime = intval(getcookie(cookietime));
$cookietimes = array(0, 86400, 2592000,;
foreach($cookietimes as $v)
{
$select[$v] = $v == $cookietime ? selected : ;
}
include template(member, login);
}
}
?
当进入会员登录界面时会出现如图8.7所示会出现如图8.8所示可以发布汽车4S店。8.4汽车4S店信息发布
如图8.9所示列出了发布4S店时的基本信息
图8.9 发布新汽车4S店的基本信息
如图8.10所示4S店时的图片
图8.10发布新汽车4S店的图片
如图8.11所示发布4S店时的4S店图信息
图8.11发布新汽车4S店的4S店图
如图8.12所示列出了发布4S店时的汽车相册
图8.12发布新汽车4S店的汽车相册
如图8.13所示了发布4S店时的员工照片
图8.13发布新汽车4S店的员工照片
表中信息分别对应开发汽车模块中所对应的各表的信息,当填入信息时就会填入到各对应的表中。
8.5中文标签调用新闻、广告、汽车商店信息
图8.14 汽车首页热销部分新闻
如图8.14所示{loop $articles $i $article}
lia href={$article[linkurl]} title={$article[title]} {$target} class=tag_title_link{$article[stitle]}/a
/li
{/loop}
然后建立标签{tag_热销图8.15所示然后在phpcms后台发如图8.16所示示如8.16所示如图8.17有flash广告,这是通过添加广告位,让后添加广告实现的,进入后台我们可以任意更改这里的广告。
如何建立广告位,首先进入phpcms后台在理项,如图8.18如图8.19所示库的phpcms_ads_place表中。
8.17中,即图8.20中的汽车-中栏03示如图8.21所示script language=javascriptsrc=http://localhost:8080/phpcms/data/js.php?id=13
/script这段代码粘贴到index.html中的对应位置,代码显示如下:
!--{tag_汽车顶部上五条}--
/ul
/div
!--房产-中部1--
divscript language=javascript src=http://localhost:8080/phpcms/data/js.php?id=13/script/div
div class=text
ul class=list-18
li
a href=/autonews/2010/0206/article_725.html title=途观新车到石家庄 target=_blank途观新车到石家庄/a
/li
li
a href=/autonews/2010/0224/article_811.html title=雪佛兰新赛欧车源紧张 购车需要预定 target=_blanksamp style=color: rgb(255, 0, 0);雪佛兰新赛欧车源紧/samp/a
/li
li
a href=/autonews/2010/0221/article_763.html title=最便宜小车江南奥拓重出江湖 售价2.18万 target=_blank最便宜小车江南奥拓/a
/li
li
a href=/autonews/2010/0225/article_819.html title=朗逸1.4T石家庄到店 开始接受预订 target=_blank朗逸1.4T石家庄到店/a
/li
lia href=/autonews/2009/1223/article_342.html title=皇冠提现车需加3万 target=_blank皇冠提现车需加3万/a
/li9 总结
通过设计和开发,汽车内容管理系统网站基本开发完毕,其功能基本符合用户要求和作者预想,能够理想的完成用户对汽车商店的查看和汽车商店发布自己的基本信息,以及用户浏览最新的汽车新闻、图片、广告。达到预想效果,但由于时间上的限制,本系统的汽车模块有待改善,后续会继续予以补充和完善。
参 考 文 献
[1] [美]Rasmus Lerdorf Kevin Tatroe著 邓云佳等译. php程序设计[M]. 中国电力出版社[2] [美国]培根 (Jono Bacon)? 著吴连河李剑译.? PHP+MySQL八大动态Web应用实战[M].北京:电子工业出版社[3] 赵增敏编著.php+MySQL+Dreamweaver 8动态网站开发从基础到实践[M].北京:电子工业出版社,2007[4] Ben Forta著 刘晓霞译. MysQL必知必会[M].人民邮电出版社[5] 王俭敏李静编著. css+div 网页样式与布局案例指导[M].北京:电子工业出版社,2009.[6] (澳)威利,(澳)汤姆森著武欣等译. PHP和MySQL Web开发[M].北京:机械工业出版社,2009.[7] 邓振杰著.网页设计制作技术[M].北京:人民邮电出版社[8] (英)David Powers著. PHP与Dreamweaver基础教程[M].北京:人民邮电出版社,2008[9] 陈营辉,赵海波等编著.php+Ajax完全自学手册[M].北京:机械工业出版社,2009[10] 姜林美编著.php+MySQL动态网站开发从基础到实践[M].北京:电子工业出版社,2008
河北师范大学毕业设计 Abstract
河北师范大学毕业设计 摘要
II
河北师范大学毕业设计 Abstract
河北师范大学毕业设计 Abstract
文档评论(0)