已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于thinkPHP的达州市农村地区农副产品的商务网站设计计算机与信息科学学院 计算机科学与技术 2011级 周飞指导教师 戴政国摘 要:本网站是采用thinkPHP框架技术,并结合HTML5、CSS3、Js、jQuery等相关技术完成的关于达州市农副产品的商务动态网页,实现了前台和后台模块功能设计和开发。前台模块包括网站首页、鲜果区、礼品区、抢先达人、采摘乐园、试吃中心、新闻动态和联系我们等模块,后台是对前台商品内容进行维护和更新的模块。本水果网站的研制目的是希望再传统农业的基础之上嫁接上网络的推销平台,促使农副产品销售更畅通。关键词:ThinkPHP;水果;MySQL;动态网页;Abstract:This website is a business website ahout agricultural products in Dazhou which made by useing thinkPHP frame and combined HTML5,Css,Js, jQuery,mainly achieved the assign goal of front and back office.Front modules includeHomepage,Fisrt section,Gift section,Fisrt one,Picking garden, Foretaste,News,Contact us.The back modules mainly finish the task of maintain and update the content of Front modules.This goal of website is to that on the best hope of base in the traditional agriculture urge the sales of the agriculture products more unimpeded .Key words: ThinkPHP;fruit; MySQL;Dynamic website;1研究背景全球信息时代的爆发式商务经济时代的到来,极大程度上的改变甚至是有了替换原有的商务模式的趋势,涌现了以网上购物为中心的销售平台和就业机会,同时这种模式也能为农户带来了客观的经济利益,提供了更加方便快捷的购物消费方式,为以银行业为代表的金融机构提供了大量的资金流。信息时代促使了人类的现代化生活方式的改变和快速发展速度。作为承载体的互联网,必须能为客户提供各种服务的多功能的商务平台,以满足网上购物的需求,比如,以淘宝、京东、天猫为代表的大型商务网站取得了巨大的成功和导致了生产销售方式的变化,出现了链式反应。各个行业都引进了电商销售模式,中国农村作为中国最大的区域,发展相对落后,引进互联网思维实现农业现代化很有必要。要以“互联网+”的思维去发展农村,发展农副产品,必然要发展必不可少的一个环节,那就是农产品的商务网站平台的建设和推广1。由于近年市场需求和市政府政策的偏向和扶持,达州市农副产品的发展势头2迅猛,其中有以盘石乡的水果最为出色,建立了好几十亩的水果产业园区,以及各中小型农户的自营果园。现在大部分都有私家车,每当丰收时节,疲于城市的上班族们就三五成群的自驾来农村玩,采摘食物,踏青。在这样的需求下,如果能有这样一个集购物、消费、和最新农家优惠信息的一个平台的诞生,那将极大的方便游客和购物者,也有利于农户和大型果园的创收。2需求分析与可行性分析2.1 需求分析根据大量的走访和调查研究,建立一个农副产品商务网站需要最基本的前端和后台这两大功能模块:2.1.1 前端:供顾客浏览商品、筛选商品、下订单、支付商品、以及查阅订单进程和维护会员信息。应有以下功能:注册功能:所有的购买过程都只能对会员开放,注册后完善会员信息。登录功能:登录后才能下订单、查看订单、追踪订单、取消订单和更新会员信息。搜索功能:支持站内产品搜索。订单功能:集中处理用户订单,下订单、查询、追踪、修改和取消订单。用户功能:查看订单,修改会员信息,上传头像和修改发货地址。新闻功能:阅读最新的新闻,了解本网站的最新动态。联系我们功能:收集客户意见和建议,更好的完善自身,提供给客户我们位置的地图,做好用户体验。试吃中心:新产品上市促销,采取免费食用的方式打开销路。采摘乐园:提供给客户上门亲自采摘的方式,让客户充分地体验采摘的乐趣。抢先达人:提供给客户激进品尝最新水果的机会。2.1.2后台:主要是对产品、会员、订单和文件的处理; 那么应有以下子模块:登录与注册功能:验证和限制会员信息,进入后台进行网站维护。系统设置:更改维护系统的信息,如title,keywords,description等方便SEO优化,有助于网络排名的系统信息。新闻管理:在后台对网站的新闻进行增删改。产品管理:查询、增加、删除、修改产品。上传产品图片以及详细的产品信息。会员管理:查看会员的信息、订单信息、以及限制和删除会员。订单管理:查看所有订单信息并管理,实现客户追踪订单。文件管理:更新目录结构以及删除不必要的文件。2.2 可行性分析2.2.1 经济可行性分析经济可行性主要从成本效益分析,开发成本的角度看,确定系统是否值得开发,同时也可以从网站的试用价值来分析。水果网站能引起人们的消费行为,促进消费,带来收入。仔细分析了网站的开发项目和开发的预算成本后,我们在既有效控制开发成本、又不影响开发效果的基础上估算出了该网站的开发需要的开发人员、硬件设备和网络平台及其经费等具体情况如表2.1所示。表2.1 经济可行性分析物资名称数量价格(元)说明开发人员设计师16000设计网页样式开发人员程序员15000编写前端和后台硬件设备电脑210000用于开发网站网络平台Windows72-开发环境经费开发经费26000开发人员伙食费2.2.2 技术可行性分析技术上的可行性分析主要分析现有技术条件能否顺利完成开发工作,硬件、软件配置能否满足开发者的需要,各类技术为员的数量、水平、来源等。技术可行性分析如表2.2所示。表2.2 技术可行性分析技术要求是否达到说明thinkPHP是开发框架jQuery Validate是表单验证Css3是页面样式及部分动画php是开发语言Js是网页动态效果Html5是网页脚本语言3.系统设计3.1开发环境网站整体框架:thinkphp框架采用MVC模型3,模型(M):模型的定义由Model类来完成。Model类位于项目目录下面的LibModel目录。控制器(C):应用控制器(核心控制器)和Action控制器都承担了控制器的角色,区别在于Action控制器完成业务过程。Action控制器位于项目目录下面的LibAction目录。视图(V):模板的实现是和框架无关的,做到了100%分离,可以独立预览和制作。数据库工具:Navicat for MySQL6是一套专为 MySQL 设计的高性能数据库管理及开发工具。极完备的图形用户界面 (GUI),Navicat 让你可以以安全且简单的方法创建、组织、访问和共享信息,包括触发器、存储过程、函数、事件、视图、管理用户等。环境配置:XAMPP(Apache+Mysql+PHP+PERL )它可以在Windows 、Linux、Solaris、Mac OS等多种操作系统下安装使用。它可以很方便的修改虚拟主机站点的根目录,也可以很方便的在配置文件中修改Apache、MySQL和PHP的配置。3.2 网站结构由需求分析我们可以得出网站的基本结构,分为前端和后台,具体的关系如下图3-1。前端网站 后台图 3-1网站基本结构前端直接面向用户,给用户最直接的影响,直接地影响消费者的购买欲望,所以前端功能的设计、交互性、用户体验非常重要4,前端包含用户、产品新闻和联系我们功能模块。结构图如图3-2所示。前端模块用户模块 订单信息 采摘乐园试吃中心产品模块新闻列表新闻模块联系我们查看地图发表留言 查看留言匿名发送 定时发送 取消订单 跟踪订单 添加订单 基本信息登录注册 订单信息 个人信息 查询产品浏览产品阅读新闻 购买历史 密码找回图3-2 前端功能结构图3.3系统流程图3.3.1前端注册 :从系统注册开始,然后依次检查邮箱的正确性、用户名、登录密码、重复密码、验证码,只有完全填写正确、符合预定的规则,才能注册成功,注册成功后就立即转入登录页,登录成功后就可以进行其它操作。注册运用了jQuery validate 表单验证5,可以跟随用户判断用户的输入是否符合要求,邮箱验证要求必须满足邮箱名的要求,用js判断两次密码是否输入一致等。具体流程如图3-3。开始注册检查邮箱检查用户名检查密码符合要求是否符合要求否是检查验证码填写正确否是数据库唯一性加入数据库注册成功跳转至登录页图3-3 注册流程图3.3.2后台新闻管理:根据前台的需求分析以及设计,发布新闻需要选择新闻的缩略图,否则这个新闻列表页的左边没有缩略图,影响美观和感受。这个流程分为添加和修改两个部分,填写表单信息后分别进行判断,是否插入缩略图,如果有图片就存储图片,但是需要注意的是,修改新闻时要替换掉原来的图片,否则长时间的图片的积累就会造成空间的浪费。如图3-4。查看新闻添加新闻修改新闻填写表单信息修改表单信息插入缩略图修改缩略图是删除原有缩略图上传新的缩略图写入数据库信息否否写入数据成功成功是删除新缩略图恢复旧缩略图删除新缩略图恢复旧缩略图否否图3-4 新闻管理流程图3.4数据库设计作为一个电商平台,那么数据库肯定会包含会员信息、产品信息、订单信息、管理员信息、系统设置、新闻信息6,包含了水果采摘、抢先、试吃、留言板块。根据已有的需求分析,一个购物网站的会员必须要有以下信息:用户名、用户密码、注册邮箱、生日(生日当天活动奖励)、性别(利于向不同性别人群销售不同产品)、联系电话、头像信息、收货地址,注册时间。如表3.1所示。表3.1 会员信息数据库设计字段名类型说明idint用户idusernamevarchar用户名passwordvarchar用户密码emailvarchar邮箱birthdayvarchar生日sexenum性别phonevarchar电话addressvarchar地址regtimedatetime注册时间产品评论设计:现在越来越多的人注重购买者的言论,影响产品的销售和用户体验,也影响网络销售。产品评论数据库设计如表3.2所示。表3.2产品评论数据库设计字段类型说明idint产品iduidint用户idpidint产品idctimedatetime评论时间ccontenttext评论内容产品是电商的核心,有了好的产品,提供给客户优质的产品,那么这个企业最大的优势就突显出来了 。如表3.3所示。表3.3会员信息数据库设计字段类型说明idint产品编号pidvarchar排序号pnamevarchar产品名pbackvarchar包装priceint价格priceoldint原价格pintrotext产品简介premindtext温馨提示pdetailtext产品详情photenum热销pclassvarchar类别paddressvarchar产地pfreshvarchar新鲜度psendvarchar运送pstandardenum规格ppreferenum优惠pnewenum新品pgiftenum礼品pimg1varchar产品图片1pshowbigvarchar首页大广告ptimedate上架时间网站管理员设计:网站管理员必须与消费者的管理要分开,分开前端和后台内容管理以免造成混乱,也有利于后台权限的分配7,具体设计如表3.4所示。表 3.4网站管理员数据库设计字段类型说明idint管理员idnamevarchar姓名passwordvarchar密码classenum管理员级别ipvarchar最近登录iptimedatetime最近登录时间phonevarchar联系电话emailvarchar邮箱留言板设计:良好的售后服务和及时解决客户疑问也会直接影响消费者的体验,消费者的不良言论造成的影响不可言喻。如表3.5所示。表3.5留言板设计数据库设计字段类型说明idint留言idmnamevarchar留言者姓名mphonevarchar联系电话memailvarchar邮箱mmesstext留言内容mtimedatetime留言时间新闻数据库设计:一个结构完善的网站,应该有新闻发布系统,既有利于网站的排名和SEO的优化,有利于网站搜索量,更有利于消费者认识我们的服务,了解我们的最新动态,了解我们的产品。如表3.6所示。表3.6新闻数据库设计字段类型说明idint新闻idnnamevarchar新闻标题ntimedatetime发布时间npicktext新闻摘要nimgvarchar缩略图地址publishenum发布状态authorvarchar作者contentvarchar新闻内容4.系统实现4.1前端页面实现前端页面良好的用户体验可以事半功倍,本站运用了html 、css 、jQuery、jQuery Validate,font-awesome。如图4.1所示。图4-1首页效果图为满足不同用户的需要,产品搜索提供了多条件的查询,采用了jQuery+ajax无页面刷新技术进行产品查询8,规定了页面的产品列表只能显示12个产品,更多产品进行分页显示,如果需要查看更多可点击上一页和下一页进行翻页查看。如图4-2所示。图4-2前端展品展示列表抢先水果给消费者提供先一步品尝水果的机会,抢先会限时、限量。若产品缺货,“抢先”按钮就不能使用,呈灰色状态。如图4-3。图4-3抢先水果页面采摘乐园提供给消费者进行实地采摘的机会,左下角的四张小图可以进行鼠标指向不同的图片后上面的大图随之而变,看得更清楚。如图4-4。图4-4 采摘乐园页面新闻列表效果如如图4-5。图4-5 前端新闻列表页面留言板以及地图:留言板是为了方便消费者直接给商家反映消费问题,以便让我们的商家更加优化自己的服务,让消费者更加舒心的消费和享受更好的服务。百度地图的引入,主要是给消费者展示商家大概的地理位置。这个地图主要是引入了百度地图提供的地图接口,在此接口上按照自己的需要设定要显示的地图。效果如图4-6所示。图4-6 留言及查看地图4.2后台功能实现后台首页效果如图4-7。图4-7 后台首页后台修改系统设置:包括系统的系统设置,邮件设置、上传设置、访问设置,效果如图4-8。图4-8 后台系统设置页面新闻管理以列表性的形式展示,每页限制12条数据,如果单页数据超出12条就会自动分页,点击每一个新闻标题可以进入修改页面。如图4-9。图4-9 修改新闻页面本系统对产品详情和新闻详情都采用了kindeditor富文本编辑器进行编辑,该编辑器方便且功能强大,预设文本在前端页面上的样式,更有详细的demo,不愁遇到问题不会解决,总之,这个编辑器极大的提升了开发者的速度和效率,值得一用。4.3重要代码的实现文件上传:为了实现多图上传,采用了thinkPHP自带的上传类文件upload.class.php,用thinkphp自带的命名空间。文件上传只需要在我们需要上传文件的控制器中修改配置,然后在实例化上传对象,对接收表单对象进行判断,选中了文件才能上传,具有多张图片上传的功能,选择了几张图片才会上传几张图片,上传后的文件名以及存储地址都能够在实例化之前做好配置。在文件确定上传之后,我们就获取到上传文件的信息,然后重新封装成需要的数组,加入数据库,如果在插入数据库期间因为别的什么原因导致数据库更新失败,我们在返回重做之前还应删掉刚刚上传成功地文件,即实现了简单的数据回滚9。$config = array(rootPath = ./Public/Images/product/, /保存根路径savePath = , /保存路径replace = false,/存在同名文件是否是覆盖,默认为falsemaxSize = 3145728,/最大文件3M 以字节B为单位 exts = array(jpg,gif,png,jpeg),/上传文件类型限制autoSub = false,/不使用子目录保存上传文件 默认为true);$upload = new ThinkUpload($config);/ 实例化上传类/如果表单的name=pimg-$_FILES为三维数组;就要用这种方式从组下数组/ $fileData=$this-batch($_FILES,pimg); if($_FILESpimg1name)/获取有效的表单数据,0时才上传for ($i=1; $i uploadOne($_FILESpimg.$i); if(!$info) / 上传错误提示错误信息$this-error($upload-getError();else$arr$i = $info; / 上传成功 获取上传文件信息else$isavename= ;/获取上传文件的地址$pdatapimg1 = $arr1savename;$pdatapimg2 = $arr2savename;$pdatapimg3 = $arr3savename;$pdatapimg4 = $arr4savename; $pdatapshowbig = $arr5savename;$pdatapshowsmall = $arr6savename;else$this-error(请先选择商品详情图1);登录功能:首先在登录页面的地方运用了jQuery validate表单验证,只需要简单的写法就能实现表单的人性化验证10,代码如下:$(formname=login_form).validate(rules :pwd : required,email : required:true,email : true,messages :pwd :请填写密码,email : required :请填写邮箱号,email :请输入正确的邮箱号);表单输入完毕以后,需要在后台程序中完成验证表单信息,并与数据库中已经注册的用户信息进行比对,完全符合才能允许进入后台11。Thinkphp 3.2接收表单数据用了I()方法,非常的好用和方便,可以如I(post.)接收完整的表单信息,也可以如I(post.username)这样接收表单的某个信息。登录页面设置了验证码,验证码也采用了ThinkPHP自带的验证码,只需进行实例化,然后在模板中输出验证码,验证码的规则也可以在实例化之前设置好,按照自己的需要设置不同的验证码。退出系统登录:清除登录时候可能保存在客户端的cookie和服务区端的session ,先清除cookie 的内容,然后设置过期的时间就保证了cookie的清除12。具体代码如下。public function CheckLogin() header(Content-type:text/html;Charset=UTF-8);$data=I(post.); /接收表单传来的全部数据$username=$datausername;$password=$datapassword;$input_verify=$dataverify; /空值判断if (!$username) $this-error(请输入用户名!);if (!$password) $this-error(请输入密码!);if (!$input_verify) $this-error(请输入验证码!);$verify = I(param.verify,); / 检查验证码 if(!check_verify($verify) $this-error(亲,验证码输错了哦!);$user=M(admin);$whereusername=$username;$wherepassword=$password;$user=$user-where($where)-find();if (!$user) $this-error(用户名或密码错误,请仔细确认!); else /登录成功写入SESSION并且跳转到首页session(uid, $userid);date_default_timezone_set(PRC);$time = date(Y-m-d H:i:s,time();/修改用户最近登录ip和时间$ip = get_client_ip();$userinfotime = $time;$userinfoip = $ip;$whereUserid = session(uid);$u = M(Admin);$userID =$u-where($whereUser)-data($userinfo)-save(); $this-redirect(Index/index, 登录成功,正在为您跳转.,3);5.结束语首先,我能在大学期间碰到这么优秀负责任的老师,带着我们一起学习,教授我们知识,特别是带领我们走向了网站制作开发的道路上。第二,在这个毕业季里完成了我的毕业设计和论文,特别是在繁重的工作任务下完成了比较复杂的毕业设计。我感受到了在学校学习的安逸生活和在社会里谋求一份工作的来之不易,我特别珍惜在学校的最后一点象牙塔时光和在社会里我前进路上的每一块绊脚石,它们会给我带来美好的回忆和前进需要的充足的动力。第三,我能独立开发一个网站了,从前端到后台,从页面布局到数据处理,踏踏实实地走过来发现过去学的知识真的是太少了,需要学习的东西真是太多了。网站的学习和开发我终于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 蔬菜营养均衡教育
- 2025版帕金森病常见症状及护理手册
- 体温的评估及护理
- 医药上架协议书
- 2025-2026学年安徽省滁州市六级语文上册期中考试试卷及答案
- 医院协议书供货
- 委托签协议书
- 2025版疱疹常见症状及护理方案
- 眼球净化护理方法图解
- 中世纪家具设计
- 企业廉政防腐培训课件
- 电缆接头施工方案
- 非洲鼓课件介绍
- 患者沟通与心理护理
- 胃肠穿孔护理常规
- 夯实数字基础全面推进数字化转型升级-中核集团数字化转型实践 2025
- 颅骨缺损护理查房
- 胎膜早破的护理查房胎膜早破护理查房课件
- 电气平行检验计划表格部分模板
- JG/T 421-2013土木工程用光纤光栅温度传感器
- (高清版)DG∕TJ 08-2302-2019 埋地钢质燃气管道杂散电流干扰评定与防护标准
评论
0/150
提交评论