基于web的同城拼车服务系统的设计与实现信息发布子系统.docx
《基于web的同城拼车服务系统的设计与实现信息发布子系统.docx》由会员分享,可在线阅读,更多相关《基于web的同城拼车服务系统的设计与实现信息发布子系统.docx(25页珍藏版)》请在冰豆网上搜索。
基于web的同城拼车服务系统的设计与实现信息发布子系统
河北农业大学
本科毕业论文(设计)
题目:
基于WEB的同城拼车服务系统的设计与实现—信息发布子系统
摘要
伴随着科技进步和经济全球化,人民生活水平不断提高,拥有私家车的人群也越来越庞大。
据统计,我国汽车保有量持续高速度增长,众多的车辆上路,是造成交通拥堵的最主要原因。
除此之外,随着经济高速发展,城市化进程加快,信息化水平提高以及人们精神层次的不断拓展加深,人与人之间的社会化互动越显重要。
但由于缺乏认知基础,人与人之间的的互动就显得漠然、敏感,且慎之又慎。
在此背景下,“拼车”成为解决交通和人文沟通的有效方法。
目前已有网站针对拼车系统做运用与推广,并得到越来越多人的支持和欢迎。
本系统使用PHP作为开发工具,APACHE作为Web服务器,并使用MYSQL作为后台数据库,有效的结合Ajax、HTML、JavaScript、Jquery等相关技术,实现拼车系统的相关功能。
此次完成的拼车服务系统——信息发布子系统,成功的实现了用户注册、用户登录、拼车信息发布、拼车系统后台管理(包括系统消息、会员管理、登录日志管理、路线管理、管理员管理)等功能。
本论文结合开发的拼车系统,介绍了基于web的同城拼车服务系统——信息发布子系统的研究和设计方法。
关键词:
PHP,MYSQL,Ajax,拼车系统,信息发布
Abstract
Alongwiththeprogressofscienceandtechnologyandtheglobalizationofeconomy,theimprovementofpeople'slivinglevel,owningaprivatecarismoreandmorehugecrowd.Accordingtostatistics,China'scarownershipofsustainedhighspeedgrowth,manyvehiclesontheroad,isthemainreasoncausingtrafficjams.Inaddition,withtherapiddevelopmentofeconomy,citychangesaprocesstoaccelerate,raisethelevelofinformationandpeople'sspirituallevelofdevelopmenttodeepen,socialinteractionbetweenpeopleismoreandmoreimportant.Butbecauseofthelackofcognitivebasis,betweenthepersonandperson'sinteractionisindifferent,sensitive,andcautious.
Inthiscontext,"fight"hasbecometheeffectivemethodtosolvethetransportationandculturalcommunication.Atpresent,siteforcarpoolingsystemapplicationandpromotion,andgetmorepeoplesupportandwelcome.ThesystemusesPHPasadevelopmenttool,APACHEastheWebserver,andusesMYSQLasthebackgrounddatabase,combinedwithAjax,HTML,JavaScript,Jqueryandotherrelatedtechnologyeffectively,achievetherelatedfunctionscarpoolsystem.
CarpoolingService--informationreleasesystemofthecompleted,thesuccessfulimplementationoftheuserregistration,userlogin,carpoolinformationrelease,carpoolingbackgroundmanagementsystem(includingthesystemmessage,membermanagement,loglogmanagement,routemanagement,administratormanagement)andotherfunctions.Inthispaper,combinedwiththecarpoolsystemdevelopment,introducestheresearchanddesignmethodofWebcitycarsharingservicesystem--informationreleasesystembasedon.
Keywords:
PHP,MYSQL,Ajax,carpoolingsystem,informationrelease
1.引言
1.1模块开发的意义
此发布信息子系统,实现用户的注册、登录及合乘有效信息的输入。
就乘客输入的合乘需求,对信息进行采集、整合、处理,并调用各功能模块,实现对合乘拼车分类,以实现拼车系统其它模块的调用。
拼车平台为数据管理中心,实现双方的数据联动对接。
用户通过其中任何一端都可发送数据到另外一端,从而实现手机客户端与电脑PC端用户间的实时对话与互动。
用户既可以搜索周边拼友找到顺风车便捷出行,又可以通过对话聊天结识同路的新朋友,实时的将网络关系转化为线下的真实关系,同时能互助同行、节能缓堵,是最真实靠谱的社交工具。
此拼车网在通过交友互动拉近人与人之间的关系,解决彼此间的不信任。
让拼车出行日常化,常态化,整合闲置资源,方便人们出行。
科学合理的发展拼车服务能够有效的提高其运营效率,在一定程度上缓解城市交通压力;对于乘客来讲,既能够满足便捷、舒适的乘车要求,又能够节约出行成本,从而实现双赢的效果。
伴随着这种拼车出行方式的普及,可以大大减少能源消耗,改善城市大气污染,具有积极的社会效益和经济效益。
在当今互联网不断发展的今天,能借助于互联网将社会资源合理整合,并在此基础上,增强人与人之间的沟通、交流,是促使社会和谐发展的一个重要因素;也是使得互联网走向更人性化道路的一次更有力尝试。
1.2国内外发展现状
关于Web网的研究与运用在Web领域非常的广泛。
拼车,作为一个新生事物,最早出现在国外,例如美国许多城市在八九十年代修建了拼车车道,(Carpoollanes)在这种车道上只能行驶公共汽车或拼车族的车或供乘坐两人以上的车辆使用,做多名乘客的车辆可以免费通过收费桥梁或道路等。
由于拼车的开始流行,拼车网这一拼车信息交流平台也随之产生了。
在国内,拼车网在各大城市也相当普遍,例如拼车/顺风信息网、拼车啦、顺风车网、上海百姓网、温州拼车网、中国拼车族等。
但这些拼车网大都采用文字发布的形式提供拼车信息,没有地图标志那么直观、清楚。
因此,将地图显示应用于拼车网很有必要。
随着网络电子地图的发展,国内外不少网站都建立了网络地图服务,如Google地图、XX地图、sogou地图等;而且有些公司开放了自己的网络地图API接口,用户可以直接调用API接口进行网络地图的应用。
将网络地图应用于拼车网中,将大大提高拼车网的用户体验,给用户带来巨大的便利。
由以上分析,我们可以充分认识到设计并开发一个同城拼车服务系统的必要性和迫切性,本次设计和开发的同城拼车服务系统理应符合规定,满足需要,并达到操作过程中的直观,方便,实用,安全等要求。
系统采用模块化程序设计的方法,既便于系统功能的组合和修改,又便于未参与系统开发的技术维护人员补充和维护。
1.3开发环境
运行环境硬件:
P4以上计算机,256M内存以上。
软件要求:
Windows98以上。
开发环境硬件:
P4以上计算机,256M内存以上。
软件:
NavicatforMySQL,AdobeDreamweaverCS3。
2.技术概述
2.1设计原理
用户在Web浏览器中键入网址以访问网站,此连接含有HTML表单的HTML页面;浏览器连接到Apache服务器上,服务器中存放组成该网站的HTML和PHP文件,Apache为客户端的请求提供服务(通过遵守其配置文件中的规则来查找相关的页面并发送回去)并发给客户端仅含有HTML表单的网页;用户在Web服务器填写表单并提交表单给服务器;Apache服务器收到提交的表单后,加载相关的文件来处理表单中提交的内容,文件中含有用语链接到数据库的PHP代码;PHP代码由Apache传给PHP解释程序(interpreter)并由解释程序加以运行,PHP连接到MySQL数据库上;MySQL数据库接受SQL请求并添加信息;PHP脚本从MySQL数据库接收结果并用收到的结果构造HTML页面,然后将页面发送回Web浏览器客户端;Web浏览器接收添加的HTML结果并将其显示给用户。
2.2数据库介绍
MySQL是一个精巧的SQL数据库管理系统[7]。
由于它的强大功能、灵活性、丰富的应用编程接口(API)以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,特别是与Apache和PHP/PERL结合,为建立基于数据库的动态网站提供了强大动力。
MySQL是一个真正的多用户、多线程SQL数据库服务器。
SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。
MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序MySQL和很多不同的客户程序和库组成。
2.3PHP介绍
PHP是一种HTML内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛地运用。
用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
2.4设计中所应用的JavaScript脚本语言和Ajax技术
本模块前台的部分功能采用Ajax来实现。
这使系统大大提升了性能。
Ajax技术以JavaScript为依托,而JavaScript是一种解释性的,基于对象的脚本语言(aninterpreted,object-basedscriptinglanguage)。
HTML网页在互动性方面能力较弱,例如验证HTML表单(Form)提交信息的有效性,用户名不能为空,密码不能少于6位,用纯HTML网页也无法实现。
要实现这些功能,就需要用到JavaScript。
JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。
同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,用户点击带有JavaScript的网页,网页里的JavaScript就传到浏览器,由浏览器对此作处理,在客户端完成,不会给服务器带来过多负担。
3.需求分析
3.1项目概述
该子系统是为了满足广大市民的用车需求,整合有效资源,增强人与人之间的沟通和互动而设计的。
3.1.1应用目标
系统界面简洁,操作方便、容易,最大限度的满足拼车人员的需求,使拼车人员通过使用该系统可以进行个人信息的注册、登录及拼车有效信息的发布,以满足拼车人员的用车需求。
3.2模块功能需求分析
3.2.1功能描述
基于WEB的同城拼车服务系统的设计与实现——信息发布子系统分为用户注册、用户登录、信息发布三大部分。
其中用户注册时根据所选方式不同而注册不同的信息,发布信息时也可由于选择形式不同而发布不同类型的信息。
从而为系统的查询部分奠定基础。
3.2.2功能模块的划分
从模块功能描述中可知,本模块可以实现六个完整的功能,包括邮箱免费注册,手机免费注册,机构会员注册,同城信息发布,城际信息发布,旅游自驾功能。
根据这些功能,设计出系统的功能模块,如图3-1所示(其中邮箱免费注册、手机免费注册、机构会员注册功能大致相同,同城信息发布、城际信息发布、旅游自驾功能大致相同):
图3-1功能模块图解
3.2.3流程分析
了解子系统的各功能模块划分,以及各功能模块之间的关系,是该子系统总体设计的重要组成部分。
为了对整个模块形成一个完整而全面的认识,还需要进行模块流程分析。
所谓模块流程就是用户在使用模块时的工作过程。
本模块的流程可描述如下:
用户进入注册界面,按要求输入注册信息,如果注册失败则提示失败,如果注册工程则进入系统登录界面;用户可以选择同城拼车、城际拼车、旅游自驾其一,进入相应的表单界面;在对应的界面中,用户可以按照界面的提示录入拼车信息,最终完成信息的发布。
4.设计与实现
4.1数据库设计
4.1.1usr表
图4-1usr表(存放用户的基本信息)
4.1.2address表
图4-2address表(首页选择城市对应id表)
4.1.3route表
图4-3route表(拼车信息存放表)
4.1.4photo表
图4-4photo表(注册人员头像表)
4.2模块功能界面设计
4.2.1注册界面
该界面的功能是实现用户的注册,其界面效果如图4-5所示。
用户输入注册时的相关信息,点击“注册”按钮由系统判断各输入是否正确。
如果正确,进入登录界面;如果不正确,界面会有相应提示,其界面效果如图4-6、4-7、4-8所示。
图4-5注册界面
图4-6邮箱注册提示界面
图4-7手机注册提示界面
图4-8会员注册提示界面
4.2.2信息发布界面
用户登录成功后,进入信息界面,其界面效果如图4-5所示。
该界面中用户可以首先选择同城拼车、城际拼车、旅游自驾中的一种,再进行对相关信息的录入;用户点击“发布”可发布该拼车信息。
图4-9信息发布界面
4.2.3同城拼车界面
用户在主界面中选择“同城拼车”时,可进入同城拼车信息发布界面,其界面效果如图4-10所示。
其中注意,由于为同城拼车,当起点城市选中时,终点城市也必须选中同一城市。
如起点为“北京”,则终点必须也为“北京”。
图4-10“同城拼车”信息发布
4.2.4城际拼车界面
用户在主界面中选择“城际拼车”时,可进入城际拼车信息发布界面,其界面效果如图4-7所示。
其中注意,由于为城际拼车,当起点城市选中时,终点城市不能选择同一城市。
如起点为“北京”,则终点为除“北京”。
外的其他城市,如“成都”。
图4-11“城际拼车”信息发布
4.2.5旅游自驾界面
用户在主界面中选择“旅游自驾”时,可进入旅游自驾信息发布界面,其界面效果如图4-8所示。
旅游自驾是“同城拼车”与“城际拼车”的升级版,注意体现在起点城市与终点城市的选择上。
此时城市不受限制,无论是同城,还是异城,都可将信息发布。
图4-12“旅游自驾”信息发布
4.2.6错误提示界面
当用户发布信息时,系统会自动判断其输入信息的正确性,并给出相应提示,如图4-9。
图4-13信息发布错误提示
5.总结
计算机网络技术的日益成熟,为拼车系统的普及提供了良好的基础。
利用计算机对拼车信息进行发布,使信息区域化范围扩大,远远优于生活中信息发布传播及共享速度,使拼车变成一种更为便捷的方式。
在这次的毕业设计中主要设计一个基于web的同城拼车服务系统——信息发布子系统,具有一定的通用性,能够满足不同拼车人群的需求,为线上拼车服务提供一个很好的平台。
通过这次毕业设计,对很多东西有了新的认识和新的见解,认识问题和思考解决办法有了本质上的进步,特别是对一个系统开发的模式有了更深的认识,对专业技能的运用更熟练。
信息发布系统开发过程中也遇到了很多问题,对某个知识理解得不透彻,致使在这次开发过程中遇到了很多问题。
不过,通过查阅相关文档及不懈的努力,最终完成了本次开发。
从选择毕业设计的题目开始,到需求分析,开发工具的选择,到系统的设计思路,数据库的设计,关键代码的设计,设计文档的完成,每一步都认真思考分析完成。
通过本系统的设计,让我在思维上更富有逻辑性,在处事上更严谨,在面对错误或失误时更冷静,将自己的人生看作是一次软件的开发过程,不断的对自己进行需求分析和设计,编写自己以后的生活,由于知识水平有限,所以该系统还有许多不尽如人意的地方,望提出宝贵意见!
6.参考文献
1.邹天思,孙鹏.PHP从入门到精通[M].北京:
清华大学出版社,2008;
2.陈湘扬,陈国益.PHP5+MySQL网页系统开发设计[M].北京:
电子工业出版社,2007;
3.明日科技.PHP函数参考大全.北京:
人民邮电出版社,2007;
4.MicheleDavisandJonPhillips,LearningPHPandMySQL.NewYork:
O'Reilly,2006
5.赵鹤芹.设计动态网站的最佳方案:
Apache+PHP+MySQL.计算机工程与设计200728(4);
6.参考网址:
7.参考网址:
7.致谢
在本系统的设计过程和论文编写过程中,老师、同学都给与了我许多无私的帮助,尤其是我的指导老师——赵洋老师给我的论文提出了很多宝贵的修改意见,赵老师的悉心指导,才使我的毕业设计得以顺利进行。
在此,衷心的感谢赵老师一直以来对我的关心和帮助。
同时,学校提供的优越环境,完善的设备和团队精神也是分不开的。
在此衷心地感谢所有关心本次毕业设计和实现的老师和同学,能够给我这次学习和交流的机会。
同时向关心和支持我学习的所有曾帮助过我的老师、同学和朋友们表示真挚的谢意!
感谢他们对我的关心和支持!
最后,再一次感谢在毕业设计过程中给予我支持和帮助的老师和同学。
8.附录
8.1系统部分代码
8.1.1用户注册界面代码
用户注册界面主要实现用户信息的录入,该界面实现了异步交互、二级联动、时间编辑器的使用。
当用户注册时,通过使用ajax判断此用户名是否已有注册;当选择起点终点时,利用二级联动,自动形成县菜单;当选择时间时,会调用时间编辑器。
该界面的具体PHP代码如下:
php
include_once("config/public.php");
if($_POST["action"]){
$Email=$_POST["Email"];
$_SESSION['Email']=$Email;
$pwd=md5($_POST["Pass"]);
$_SESSION['pwd']=$pwd;
$repwd=$_POST["PassConfirm"];
$nickname=$_POST["NickName"];
$regtime=time();
$ip=$_SERVER['REMOTE_ADDR'];
$img=$_POST['gif'];
$grade=1;
$selectSql="select*fromuserwhereemail='$Email'";
$rec=mysql_query($selectSql);
if(mysql_num_rows($rec)!
=null){
$smarty->assign("msg","注册失败");
$smarty->assign("return","reg.php");
$smarty->display("alert.html");
}else{
$mysql="insertintouser(email,pass,nickname,regtime,ip,img,grade)values('$Email','$pwd','$nickname','$regtime','$ip','$img','$grade')";
$bool=mysql_query($mysql);
if(!
$bool){
$smarty->assign("msg","注册失败");
}else{
$_SESSION['uname']=$Email;
$_SESSION['uid']=mysql_insert_id();
$smarty->assign("msg","注册成功");//将值传给reg.html
$smarty->assign("return","index.php");//将路径传给$return
$smarty->assign("goahead","login.php");//将reg.html
$smarty->display("alert.html");
return;
}
}
}
$sql="select*fromphotowherename!
=''";
$xitong=$smarty->arr($sql);
$smarty->assign("xitong",$xitong);
$smarty->display("reg.html");
?
>
8.1.2信息发布代码
在信息发布界面上,用户可通过选择发布信息类型(同城拼车、城际拼车、旅游自驾),实现拼车信息的发布,具体实现代码如下:
免费发布拼车线路-AA拼车网
同城拼车
城际拼车