校园二手信息网站的设计与开发.docx
- 文档编号:12975081
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:35
- 大小:488.35KB
校园二手信息网站的设计与开发.docx
《校园二手信息网站的设计与开发.docx》由会员分享,可在线阅读,更多相关《校园二手信息网站的设计与开发.docx(35页珍藏版)》请在冰点文库上搜索。
校园二手信息网站的设计与开发
校园二手信息网站的设计与开发
摘要
二手信息网站,为二手物品交易提供了网上平台。
如今,随着电子商务的不断发展完善,大学校园也需要一个能为学生提供二手物品交易的专用网站,以便发布各种商品信息。
本设计具有一般电子商务的功能,且体现出校园风格。
该系统提供的功能包括注册、查询信息、发布信息、找回密码等。
本系统的特点在于应用了PHP技术。
它是一种简单的动态脚本语言,具有开放源码、执行速度快的特点。
该技术还支持广泛的数据库连接,具有大量的扩展库,安全性能高,易学易用。
本文首先介绍了该系统的可行性和应用工具,并就系统的需求性和PHP的优势进行了阐述;接着进行系统分析,并设计了本系统所用到的基于MYSQL数据库的数据表结构;然后对该系统各功能模块进行了详细设计;最后,针对系统在代码优化和加密方面的不足做出总结。
关键词:
二手信息;PHP;MySQL;APACHE;MD5;SESSION
DesignandDevelopmentofCampusSecond-handInformationWebsite
Abstract
Second-handinformationwebsiteprovidesasecond-handgoodstransactionsonlineplatform.Now,withthecontinuousdevelopmentofe-commerceperfect,Universitycampusalsoneedsanabletoprovideourstudentswiththesecond-handgoodstransactionsdedicatedwebsite,inordertodisseminateinformationofvariouscommodities.
E-commerce’sgeneralfunctioncanfindinthisdesign,andreflectsthestyleofthecampus.Functionsincludeuserregistration,informationinquiry,disseminateinformationandretrievepasswordsinthesystem.ThesystemhasamajorcharacteristicofPHPapplicationswhichisasimpledynamicscriptinglanguagethatisopensource,fasterimplementationcharacteristics.Anditsupportsawiderangeofdatabaseconnections,withalotofextensions,securityisalsoveryhighperformance,easytolearnanduse.
Thispaperintroducesthefeasibilityofthesystemandapplicationtools,describedtheneedsofthesystemandtheadvantagesofPHP,thenthesystemsanalysis,designandMYSQL-baseddatabasesystemusedinthedatatablestructure,Thenthefunctionofthesystemmodulesandthedetaileddesignandcodeisamajorachievement.Descriptionandtestingofthesystemencounteredacharactercodingusingthedatabaseerrors;bysettingMYSQLandlinkingcodingsolvethiserror.Finally,summarizethesystemofencryptionandcodeoptimizationfortheshortage.
Keywords:
Second-HandInformation;PHP;MySQL;APACHE;MD5;SESSION
论文总页数:
27页
1引言
课题的背景
随着Internet爆炸式的发展,中国自加入WTO以来,电子商务在国内也迅速的发展了起来,现在互联网上各种电子商务网站更是迅速的增长。
还在校园的我也深受其中的影响,开发一个对在校学生适用的网站,希望能给大家提供方便的服务。
作为一个大学生,深有体会,从身上的衣服到大家所用的书籍、文具以至各种生活常用品,用上一段时间就会被淘汰,有的同学干脆扔掉,很是浪费还污染了环境。
也有的同学想到卖掉,苦于难寻买家,将其卖给收费品的。
这样就造成了物不能尽其用。
为了解决这种资源的浪费,所以开发了校园二手信息网站,借助于低交易成本的Internet。
为大家提供一个低成本、快速迅捷的信息发布平台。
新系统开发过程中严格按照系统开发步骤进行,在系统调研、分析、设计到系统的实施的全过程中,力求其科学性和合理性。
可行性分析
可行性分析的任务是从技术上、经济上、社会上、法律上分析需要解决的问题是否存在可行的解。
技术可行性
该系统采用BS模式设计,在高校的校园网上运行。
学生可以通过接入校园网的计算机,访问二手信息网站。
本系统是一个比较普通的BS模式的信息发布系统,在技术上具有可行性。
经济可行性
现在,计算机的价格已经十分低廉,性能却有了长足的进步。
而本系统的开发,为大家节约了大量的资源,为此主要表现有以下几个方面:
✧本系统的运行可以代替废物买卖贴示,避免一些不必要的麻烦;
✧本系统的运行可以节省许多资源;
✧本系统的运行可以大大的提高废物再利用;
✧本系统可以使敏感文档更加安全,等等。
所以,本系统在经济上是可行的。
运行可行性
系统为一个小型的信息管理系统,所耗费的资源非常的小,一般的电脑无论是硬件还是软件都能够满足条件,因此,本系统在运行上是可行的。
法律可行性
系统纯为私人设计,在开发过程中没有涉及合同、责任等与法律相抵触的方面。
因此,本系统在法律上是可行的。
2理论基础知识介绍
PHP技术
PHP简介
PHP是一种简单的、面向对象的、解释型的、安全的、性能非常之高的、独立于架构的、可移植的、动态的脚本语言。
PHP具有和Java类似的Class关键字。
因为不需要虚拟机,以致速度比Java快5倍。
PHP正迅速变成一种标准的、多用途的、面向对象的脚本语言。
PHP不仅可用来开发Web应用程序,也可以开发普通应用程序。
PHP是HypertextPre-Processor(超文本预处理器)的缩写,它是一种服务器端的HTML脚本编程语言。
PHP语法上与C相似,可运行在Apache,Netscape/iPlanet,和MicrosoftIISWeb服务器上。
PHP作为一种工具,可以让你创建动态的Web页面。
应用PHP的网页与常规的HTML页面并无二致,你可以用同样的方式来创建、编辑它们。
PHP允许你直接在HTML文件里写入简单的脚本,这一点与JavaScript非常相似。
而不同的是,PHP不依赖于浏览器,是服务器端的语言,而JavaScript却是一种客户端的嵌在HTML中的语言。
概念上,PHP与Netscape的LiveWirePro产品,Microsoft的ASP以及SunMicrosystem的JSP相似。
1.PHP的强劲之处在于:
PHP是一项最优秀的技术。
其它技术,如PERL,Python,VBScript,ASP相对来说,都是陈旧低劣的。
即使是Java/JSP,也在PHP之下。
其特点如下:
✧兼容性:
PHP5.0程序可与旧版本兼容;
✧易学易用:
PHP的语法类似C及Per,所以有程序编写经验者很快即可上手;
✧开放的来源:
PHP的原始码及编译后文件可免费下载;
✧可扩充:
使用者可新增模块以扩充PHP引擎之功能;
✧跨平台:
PHP程序可在数种主要作业平台及Web服务器上执行。
✧支持多种数据库:
PHP支持十余钟数据库,且编写存取数据库资料的程序相当容易。
PHP是最好的,因为它面向对象,并且吸收了C/C++/Java/PERL的精华。
PHP可以替代PERL,Python,Java,C,C++,AWK,UnixShell脚本,VisualBasic和其它语言。
PHP直接运行,而且是由C写成的。
PHP可以运行在Apache,MicrosoftIIS等多种Web服务器上。
PHP太容易使用了,你可以用它在非常短的时间里,非常迅速的开发出非常复杂的Web。
PHP最大的优势在于PHP自身完全是由C语言写成的,因此可广泛运行于各种平台之上,如BeOS,UNIX,MSWindows,AppleMacintosh,IBMOS/2以及其它更多的操作系统。
而Windows下开发的PHP代码也可以不经过任何改变,就用于UNIX/Linux上。
2.PHP网页执行流程
PHP与传统网页不同,一般的HTML网页在加载时,会直接将网页全部传到使用者的计算机中,然而在使用者的计算机上执行程序,展示内容;PHP则是刚好相反,它主要的用途是在网站服务器端的网页开发,程序员可以通过程序的控制,让网站与访问者交互,进而设计出迷人的动态网页。
例如:
会员登录、资料认证网页等。
如下图:
图1PHP网页执行流程
PHP安装
1、下载PHP安装程序,Windows的PHP安装分为两种方式,一种是源代码安装方式,一种是EXE安装方式,双击即可安装。
本文主要说一下源代码安装过程。
下载“PHP-5.0.3-Win32.rar”。
然后解压缩下载到的RAR文件到c:
\php
2、复制c:
\php\php5ts.dll到c:
\windows\system32。
(有时候为了方便,在PHP文件夹中点击搜索*.dll把搜索到的所有文件夹都复制到system32中也可以)复制c:
\php\php.ini-recommended(或者是php.ini-dist)为c:
\windows\php.ini然后打开c:
\windows\php.ini修改如下几个地方:
如果是在生产服务器上,可以不用修改下面这两行
error_reporting=E_ALL&~E_NOTICE
display_errors=On(这里是修改PHP的错误提示,OFF为不提示,有些数据库链接非错误信息也会被PHP当做错误信息输出,建议用作Web服务器的关闭!
)
指示PHP扩展库所在文件夹。
extension_dir="c:
\php\ext
以下两个是超时时间:
一般是60-120。
max_execution_time=90
max_input_time=90
post_max_size=8M(6-10M最佳)
upload_max_filesize=8M(上传附件大小最大)
default_socket_timeout=90(端口时间60-120)
session.gc_maxlifetime=3600(session默认存活时间,秒)
session.save_path="c:
\php\sessiondata"(Session的存储目录)
extension=php_mysql.dll(支持MySQL数据库)
extension=php_gd2.dll(支持生成真彩图片)
3.验证安装
用记事本写几行代码:
phpinfo();
>
保存为网站根目录下为phpinfo.php文件。
然后启动浏览器,访问http:
//localhost/phpinfo.php,如果看到如下画面就证明PHP安装成功了!
图2PHP信息页面
MySQL简介
MySQL是一个广受Linux社区人们喜爱的半商业的数据库。
MySQL是可运行在大多数的Linux平台(i386,Sparc,etc),以及少许非Linux甚至非Unix平台。
MySQL简介
1、安装
可以在MySQL站点上获得大多数主要的软件包格式(RPM、DBE、TGZ、RAR)。
RAR格式的安装没有多大麻烦,并且无需初始配置;直接解压缩运行安装文件即可进行安装。
MySQL的守护进程(mysqld)消耗很少的内存并在只有在执行真正的查询时才装载到处理器上,这意味着对小型数据库来说,MySQL可以相当轻松地使用而不会对其他系统功能有太大的影响。
2、数据类型
字段支持大量数据类型是件好事。
通常的整数、浮点数、字符串和数字均以多种长度表示,并支持变长的BLOB(BinaryLargeObject)类型。
对整数字段由自动增量选项,日期时间字段也能很好的表示。
3、SQL兼容性
它也缺乏一些常用的SQL功能,没有子选择(在查询中的查询)。
视图(View)也没了。
当然大多数子查询可以用简单的连接子句重写,但有时用两个嵌套的查询思考问题比一个大连接容易。
同样,视图仅仅为程序员隐蔽where子句,但这正是程序员们期望的另一种便利。
4、存储过程和触发器
MySQL没有一种存储过程(StoredProcedure)语言,这是对习惯于企业级数据库的程序员的最大限制。
多语句SQL命令必须通过客户方代码来协调,这种情形是借助于相当健全的查询语言和赋予客户端锁定和解锁表的能力,这样才允许的多语句运行。
5、参考完整性
MySQL的主要的缺陷之一是缺乏标准的RI机制;然而,MySQL的创造者也不是对其用户的愿望置若罔闻,并且提供了一些解决办法。
其中之一是支持唯一索引。
Rule限制的缺乏(在给定字段域上的一种固定的范围限制)通过大量的数据类型来补偿。
不简单地提供检查约束(一个字段相对于同一行的另一个字段的之值的限制)、外部关键字和经常与RI相关的“级联删除”功能。
有趣的是,当不支持这些功能时,SQL分析器容忍这些语句的句法。
这样做目的是易于移植数据库到MySQL中。
这是一个很好的尝试,并且它确实未来支持该功能留下方便之门;然而,那些没有仔细阅读文档的人可能误以为这些功能实际上是存在的。
6、安全性
自始至终我对MySQL最大的抱怨是其安全系统,它唯一的缺点是复杂而非标准,另外只有到调用mysqladmin来重读用户权限时才发生改变。
通常的SQLGRANT/REVOKE语句到最近的版本才被支持,但是至少他们现在有了。
MySQL的编写者广泛地记载了其特定的安全性系统,但是它确实需要一条可能是别无它法的学习过程。
7、备份和恢复、数据导入/导出
强制参考一致性的缺乏显著地简化备份和恢复,单靠数据导入/导出就可完美复制这一功能。
LOADDATAINFILE命令给了数据导入很大的灵活性。
SelectINTO命令实现了数据导出的相等功能。
另外,既然MySQL不使用原始的分区,所有的数据库数据能用一个文件系统备份保存。
数据库活动能被记载。
与通常的数据库日志不同(存储记录变化或在记录映像之前/之后),MySQL记载实际的SQL语句。
这允许数据库被恢复到失败前的那一点,但是不允许提交(commit)和回卷(rollback)操作。
8、连接性
MySQL客户库是客户/服务器结构的C语言库,它意味着一个客户能查询驻留在另一台机器的一个数据库。
然而MySQL真正的强项处于该库中的语言“包装器(wrapper)”,Perl、Pathon和PHP只是一部分。
Apache的Web服务器也有许多模块例如目录存取文件等允许各种各样的Apache配置信息(例如目录存取文件)使用MySQL,应用程序接口简单、一致并且完整。
数据库引擎
MyISAM强调了快速读取操作,这是为什么MySQL受到了Web开发如此青睐的主要原因:
在Web开发中所进行的大量数据操作都是读取操作。
所以,大多数虚拟主机提供商和Internet平台提供商(InternetPresenceProvider,IPP)只允许使用MyISAM格式。
MyISAM存储格式自版本3.23以来是MySQL中的缺省类型,它有下列特点:
✧如果操作系统自身允许更大的文件,那么文件比ISAM存储方法的大。
✧数据以低字节优先的机器独立格式存储。
这表示可将表从一种机器拷贝到另一种机器,即使它们的体系结构不同也可以拷贝。
✧数值索引值占的存储空间较少,因为它们是按高字节优先存储的。
索引值在低位字节中变化很快,因此高位字节更容易比较。
✧AUTO_INCREMENT处理比ISAM的表更好。
✧减少了几个索引限制。
例如,可对含NULL值的列进行索引,还可以对BLOB和TEXT类型的列进行索引。
为了改善表的完整性检查,每个表都具有一个标志,在myisamchk对表进行过检查后,设置该标志。
可利用myisamchk-fast跳过对自前次检查以来尚未被修改过表的检查,这样使此管理任务更快。
表中还有一个指示表是否正常关闭的标志。
如果服务器关闭不正常,或机器崩溃,此标志可用来检测出服务器起动时需要检查的表。
Apache简介
Apache是世界使用排名第一的Web服务器,它可以运行在几乎所有广泛使用的计算机平台上。
Apache源于NCSAhttpd服务器。
经过多次修改,他成为了世界上最流行的Web服务器软件之一。
Apache取自“apatchyserver”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。
Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。
Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。
Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个ApacheWeb站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。
到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。
世界上很多著名的网站如A、Yahoo!
、W3Consortium、FinancialTimes等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。
Apache服务器拥有以下特性:
✧支持最新的HTTP/1.1通信协议;
✧拥有简单而强有力的基于文件的配置过程;
✧支持通用网关接口;
✧支持基于IP和基于域名的虚拟主机;
✧支持多种方式的HTTP认证;
✧集成Perl处理模块;
✧集成代理服务器模块;
✧支持实时监视服务器状态和定制服务器日志;
✧支持服务器端包含指令(SSI);
✧支持安全Socket层(SSL);
✧提供用户会话过程的跟踪;
✧支持FastCGI;
✧通过第三方模块可以支持JavaServlets。
3系统分析与数据库设计
系统功能需求分析
根据一般电子商务系统功能分析,将系统分为管理员、用户两大模块。
系统管理员模块包括:
系统配置管理、会员信息管理、网站新闻管理、物品信息管理、管理员管理、登录日志管理。
用户模块包括:
安全登录、找回密码、查询信息、发布信息、会员注册、物品类别、物品信息管理、会员信息修改。
刚进入网站的非会员能够在此网站浏览和搜索信息,不仅能浏览二手信息还能浏览到热门信息。
经过注册成为会员便能发布信息。
此系统还考虑到用户利用穷举法破解密码,专门设置了用户和管理员登录日志,以便及时了解和防范。
系统模块关系图
根据系统功能需求建立的模块关系图如下图:
图3系统模块关系图
系统E-R图
本实例根据上面的模块关系图规划出的实体有管理员、二手信息机及新闻、用户、会员实体、各实体的E-R图及其关系描述如下(带下划线的为主键):
图4会员实体E-R图
图5二手信息实体E-R图
图6新闻实体E-R图
图7管理员实体E-R图
超级管理远实体E-R图同管理员实体E-R图类似,无权限属性(省略)。
各实体的关系E-R图描述如下:
图8实体和实体之间的关系E-R图
数据库设计
数据库表之间的关系
表1数据库表
序号
数据库表
数据库存储内容
1
ershou_adminstage
存储管理员和会员的登录日志
2
ershou_class
存储二手信息的类别信息
3
ershou_pinglun
存储会员对物品信息的评论
4
ershou_news
存储新闻
5
ershou_user
存储会员的相关信息
6
ershou_wupin
存储以发布的物品信息
7
ershou_manager
存储管理员的信息
数据表关系图如下:
图9数据表关系图
数据表结构的详细设计
表2用户资料表(ershou_user)
序号
字段名
字段类别
说明
备注
1
user_name
varchar(20)
用户的账号名称
主键
2
user_pass
varchar(20)
用户的帐号密码
3
user_question
varchar(50)
找回密码提问
4
user_angser
varchar(50)
找回密码答案
5
user_mphone
varchar(12)
移动电话
6
user_phone
varchar(12)
座机
7
user_school
varchar(60)
所在学校
8
user_email
Varchar(80)
电子邮箱
9
user_date
datetime
注册时间
10
user_qq
Int
QQ号
11
user_kt
Int
标志
默认为0
表3类别信息表(ershou_class)
序号
字段名
字段类别
说明
备注
1
class_name
varchar(20)
类别名称
主键
2
class_order
int
大类顺序标记小类为默认的0
默认值为0
3
class_cid
int
小类顺序标记大类为默认的0
默认值为0
表4用户与管理员登录日志信息表(ershou_adminstage)
序号
字段名
字段类别
说明
备注
1
manager_name
varchar(20)
登录名
主键
2
manager_action
varchar(50)
登录动作
3
manager_ip
varchar(30)
登录ip
4
manager_time
datetime
登录时间
5
manager_state
int
登录状态
默认为0
6
manager_if
Int
判断为管
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 校园 二手 信息 网站 设计 开发