05ecshop项目概述

合集下载

ecshop需求规格说明书上课讲义

ecshop需求规格说明书上课讲义

e c s h o p需求规格说明书ecshop网站项目软件需求规格说明书拟制陈强日期2010-12-6 评审人日期批准日期签发日期changshahuri IT Co., Ltd.长沙华瑞软件学院All rights reserved版权所有侵权必究目录1. 简介 (4)1.1. 编写目的 (4)让您更了解ECSHOP的各方面功能,以及对ECSHOP更深的了解。

(4)1.2. 适用范围 (4)1.2.1. 软件名称 (4)1.2.2. 软件功能 (4)1.2.3. 软件应用 (6)1.3. 定义及关键词 (7)1.4. 参考资料 (7)1.5. 项目流程 (7)登录总体概述 (7)1.6. 软件概述 (8)1.6.1. 项目介绍 (8)1.6.2. 产品环境介绍 (9)1.7. 软件模块 (9)1.8. 角色ACTORS (10)2. 功能需求 (11)2.1. 需求分析 (11)2.1.1. 商品前台展示 (11)2.1.2. 商品后台管理 (15)......................................................... 错误!未定义书签。

2.1.3. 会员管理 (24)2.1.4. 订单管理 (32)2.1.5. 后台权限管理 (43)表目录表1. 关键词 (7)1. 简介1.1. 编写目的让您更了解ecshop的各方面功能,以及对ecshop更深的了解。

1.2. 适用范围1.2.1. 软件名称ECShop 英文全称为 e-Commerce Shop,中文全称为 ECShop 网上商店管理系统,简称ECShop1.2.2. 软件功能1.前台:用户注册模块、用户登录模块、用户中心模块、购物车管理模块、商品展示模块、留言板模块。

(1)前台会员注册客户想要进行网上购物就必须先进行注册(当然作为游客购物,可以直接联系管理进行购物)(2)前台会员登录客户想要购买商品需要先进行登录(3)用户中心此模块包括欢迎页、用户信息、我的订单、收货地址、我的留言、缺货登记、我的评论、资金管理、我的积分。

ECShop需求分析

ECShop需求分析

ECSHOP需求分析目录。

一.整体概述二.大体流程三.模块及功能的划分1.商品管理EC1.1. 商品列表EC1.2. 商品添加EC1.3. 商品分类EC1.4. 商品品牌EC1.5. 用户评论EC1.6. 商品回收站EC1.7. 商品上下架EC1.8. 供应商管理EC1.9. 缺货商品EC1.10. 优惠活动2.会员管理EC2.1. 会员列表EC2.2. 添加会员EC2.3. 会员等级EC2.4. 会员留言EC2.5. 充值或提现申请EC2.6. 资金管理3.订单管理EC3.1. 订单列表EC3.2. 添加订单EC3.3. 缺货登记4.报表EC4.1. 流量分析EC4.2. 客户统计EC4.3. 订单统计EC4.4. 销售概况EC4.5. 会员排行EC4.6. 销售明细EC4.7. 销售排行EC4.8. 访问购买率EC4.9. 时间查询5.文章管理EC5.1. 文章分类EC5.2. 文章标题EC5.3. 文章内容6.系统管理EC6.1. 管理员列表EC6.2. 管理员日志EC6.3. 支付方式EC6.4. 配送方式EC6.5. 地区列表EC6.6. 数据库备份EC6.7. 数据库还原7.会员后台EC8.1. 会员信息EC8.2. 我的订单EC8.3. 资金管理EC8.4. 收货地址EC8.5. 我的收藏EC8.6. 最近浏览的商品EC8.7. 我的留言EC8.8. 缺货登记EC8.9. 我的评论EC8.10. 安全退出一:整体的概述。

ECSHOP 这个程序主要是模拟了现实生活中客户购物的一个整体流程。

首先客户浏览商品,挑选自己比较喜欢的商品,将挑选的商品放入购物车中,如果客户不想买这种商品可以将该商品从购物车中删掉。

在结账时填写自己的详细信息,包括收货人、收货地址、配送方式和支付方式,然后提交订单。

对于每个客户都有自己的后台管理。

可以浏览、删除订单,可以充值,查看积分,以及享受一定的优惠待遇。

完成订购等待收货。

05ecshop项目概述

05ecshop项目概述

回顾PDO:PHP数据对象,作为了一个数据抽象层来负责向下连接各种指定的数据库。

1.加载PDO扩展2.创建PDO对象(连接数据库):new PDO($dsn,$user,$pass)3.组织SQL并发送a)PDO::exec:没有数据(结果集返回),返回受影响的行数b)PDOStatement PDO::query:有结果集,返回结果集对象4.处理返回结果a)结果集记录数:PDOStatement::rowCount,columnCountb)取出结果集:fetch(PDO::FETCH_BOTH,FETCH_ASSOC,FETCH_NUM),fetchAll,fetchColumn,fetchObject5.关闭PDO(unset(PDO对象))预处理1.发送预处理:PDOStatement PDO::prepare2.准备执行数据a)传入一个参数数据:PDOStatement::execute($array)b)在执行前绑定变量:bindParam,bindValue,使用PDOStatement::executePDO事务处理PDO::beginTransaction:开启事务PDO::commit:确认提交PDO::rollback:回滚PDO异常处理1.设置错误处理模式为异常模式:PDO::setAttribute(PDO::ATTR_ERRORMODE,PDO::ERRMODE_EXCEPTION)2.指定异常语句库去捕捉异常try{//可能出现错误的语句}catch(PDOException $e){//抓取错误并处理$e->getTrace()}反射:Reflection将一个类的内部的结构给反映出来:ReflectionClass获取常量:getConstants获取属性:getProperties获取方法:getMethodsECSHOPEcshop是一个电子购物商城,功能非常完善。

项目总结

项目总结

项目总结
ECShop是一款B2C(business to customs)独立网店系统,适合企业及个人快速构建个性化网上商店。

系统是基于PHP语言及MYSQL数据库构架开发的跨平台开源程序。

产品主要有功能(前台和后台)
前台:用户注册模块、用户登录模块、用户中心模块、购物车管理模块、留言板
模块
后台:登录模块、商品管理模块、订单管理模块、会员管理模块、报表统计模块、权限管
理模块、数据库模块
我主要负责会员管理模块有会员列表添加会员、会员等级会员留言充值和体现申请
会员列表可以综合管理会员信息可以编辑会员信息查看收货地址查看订单查看明细账以及对用户资金账户的管理
添加会员就是不断的往里面造数据为后面的模块测试提供有效的数据多输入框的测试主要用了有等价类,边界值和组合测试方法。

会员等级添加会员等级设置积分上下限设置会员初始折扣率
会员留言部分主要测试前台和后台的信息传输。

属于场景法的基本流的测试方法、,需要先在前台登录用户进行留言,通过管理员账户进行留言的回复,在通过前台查看回复会员的信息
充值和提现申请主要关联会员列表中的调节会员账户,调节会员账户是可以增加和减少用户资金和就和充值提现申请模块的充值功能、提现功能有一些类似。

调节账户和充值提现申请是有严格流程的只有现在账户充值才能进行后续的购买物品、冻结账户资金以及提现等操作。

主要用了场景法,错误推断法等进行测试,以及简单的逻辑推理。

体验软件测试的大部分过程,时间超级紧张,工作量大,需求分析和测试用例发费了大量的时间和精力,通过整体的做项目对项目测试流程有了比较清楚的了解,测试技能有了一定的提升。

团队合作是比较重要的。

ecshop需求规格说明书

ecshop需求规格说明书

ecshop网站项目软件需求规格说明书拟制陈强日期2010-12-6 评审人日期批准日期签发日期changshahuri IT Co., Ltd.长沙华瑞软件学院All rights reserved版权所有侵权必究目录1. 简介 (3)1.1. 编写目的 (3)让您更了解ECSHOP的各方面功能,以及对ECSHOP更深的了解。

(3)1.2. 适用范围 (3)1.2.1. 软件名称 (3)1.2.2. 软件功能 (3)1.2.3. 软件应用 (4)1.3. 定义及关键词 (4)1.4. 参考资料 (5)1.5. 项目流程 (5)登录总体概述 (5)1.6. 软件概述 (6)1.6.1. 项目介绍 (6)1.6.2. 产品环境介绍 (6)1.7. 软件模块 (7)1.8. 角色ACTORS (8)2. 功能需求 (9)2.1. 需求分析 (9)2.1.1. 商品前台展示 (9)2.1.2. 商品后台管理 (13) (22)2.1.3. 会员管理 (22)2.1.4. 订单管理 (30)2.1.5. 后台权限管理 (41)表目录表1. 关键词 (4)1. 简介1.1. 编写目的让您更了解ecshop的各方面功能,以及对ecshop更深的了解。

1.2. 适用范围1.2.1. 软件名称ECShop 英文全称为e-Commerce Shop,中文全称为ECShop 网上商店管理系统,简称ECShop1.2.2. 软件功能1.前台:用户注册模块、用户登录模块、用户中心模块、购物车管理模块、商品展示模块、留言板模块。

(1)前台会员注册客户想要进行网上购物就必须先进行注册(当然作为游客购物,可以直接联系管理进行购物)(2)前台会员登录客户想要购买商品需要先进行登录(3)用户中心此模块包括欢迎页、用户信息、我的订单、收货地址、我的留言、缺货登记、我的评论、资金管理、我的积分。

欢迎页:显示会员上次登录的信息及有关积分、订单的一些信息。

ECSHOP项目总结归纳

ECSHOP项目总结归纳

ECSHOP项目总结归纳
精心整理
2019年9月
ECSHOP 项目总结(面试技巧部分)
NO1:ECSHOP 是一个什么样的系统?(该系统是做什么的,系统架构是怎么样的)
ECSHOP 是一个基于B/S 架构的B2C 电子商务系统。

ECSHOP 的环境支持Linux 和Windows 跨平台操作,我们是部署在Windows 上的:WindowsServer2003+PHP+Apache+MySQL 。

NO2:在ECSHOP 的项目中你做了些什么?(你负责哪些模块,完成了哪些测试任务)
排了3 NO3:NO4NO5NO6:用例优先级有什么作用?以ECSHOP 某个模块为例介绍你的用例设计思路?
用例优先级区分出核心模块、基本功能和重要级别高的用例,优
先完成这些用例的测试才能保证其它部分用例的测试能够执行。

以订单管理模块为例,搜索和查询功能用的是等价类的方法;订单信息修改功能的基本信息部分采用状态迁移法;订单正向操作用的是流程分析法和状态迁移并用。

精心整理
2019年9月
NO7:缺陷分析了哪些指标?你发现了哪些有价值的缺陷?
缺陷的总数,数量分布,严重程度分布以及各成员发现的缺陷数量分布。

有价值的缺陷:上传附件查看不到,重要信息没有显示,必填信息被置空。

NO8:缺陷报告能否代替测试报告?测试报告除了缺陷分析还包括什么?
不能。

NO9?主要流NO10ECSHOP 、~。

ECSHOP数据库结构详细说明

ECSHOP数据库结构详细说明

ECSHOP数据库结构详细说明ECSHOP数据库结构详细说明(1)表的结构`ecs_account_log`==用户账目日志表CREATE TABLE IF NOT EXISTS `ecs_account_log` (`log_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID号',`user_id` mediumint(8) unsigned NOT NULL COMMENT '用户登录后保存在session中的id号,跟users表中的user_id对应', `user_money` decimal(10,2) NOT NULL COMMENT '用户该笔记录的余额',`frozen_money` decimal(10,2) NOT NULL COMMENT '被冻结的资金',`rank_points` mediumint(9) NOT NULL COMMENT '等级积分,跟消费积分是分开的',`pay_points` mediumint(9) NOT NULL COMMENT '消费积分,跟等级积分是分开的',`change_time` int(10) unsigned NOT NULL COMMENT '该笔操作发生的时间',`change_desc` varchar(255) NOT NULL COMMENT '该笔操作的备注,一般是,充值或者提现。

也可是是管理员后台写的任何在备注',`change_type` tinyint(3) unsigned NOT NULL COMMENT '操作类型,0为充值,1为提现,2为管理员调节,99为其他类型', PRIMARY KEY (`log_id`),KEY `user_id` (`user_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='用户帐号情况记录表,包括资金和积分等' AUTO_INCREMENT=42 ;-- --------------------------------------------------------------------------------------------------------------------------------------------------------------------表的结构`ecs_ad` 广告表(位置,类型,名称,链接,图片,开始,结束,广告主相关信息,点击,是否显示)CREATE TABLE IF NOT EXISTS `ecs_ad` (`ad_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID号',`position_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '0,站外广告;从1开始代表的是该广告所处的广告位,同表ad_position中的字段position_id的值',`media_type` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '广告类型,0,图片;1,flash;2,代码;3,文字', `ad_name` varchar(60) NOT NULL COMMENT '该条广告记录的广告名称',`ad_link` varchar(255) NOT NULL COMMENT '广告链接地址', `ad_code` text NOT NULL COMMENT '广告链接的表现,文字广告就是文字或图片和flash就是它们的地址,代码广告就是代码内容',`start_time` int(11) NOT NULL DEFAULT '0' COMMENT '广告开始时间',`end_time` int(11) NOT NULL DEFAULT '0' COMMENT '广告结束时间',`link_man` varchar(60) NOT NULL COMMENT '广告联系人',`link_email` varchar(60) NOT NULL COMMENT '广告联系人的邮箱',`link_phone` varchar(60) NOT NULL COMMENT '广告联系人的电话',`click_count` mediumint(8) unsigned NOT NULL DEFAULT '0' COMMENT '该广告点击数',`enabled` tinyint(3) unsigned NOT NULL DEFAULT '1'COMMENT '该广告是否关闭,1,开启;0,关闭;关闭后广告将不再有效,直至重新开启',PRIMARY KEY (`ad_id`),KEY `position_id` (`position_id`),KEY `enabled` (`enabled`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='广告列表配置表,包括站内站外的图片,文字,flash,代码广告' AUTO_INCREMENT=6 ;-- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------表的结构`ecs_admin_action`==管理权限分配(父类ID,权限代码)CREATE TABLE IF NOT EXISTS `ecs_admin_action` (`action_id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID号',`parent_id` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '该id项的父id,对应本表的action_id字段', `action_code` varchar(20) NOT NULL COMMENT '代表权限的英文字符串,对应汉文在语言文件中,如果该字段有某个字符串,就表示有该权限',PRIMARY KEY (`action_id`),KEY `parent_id` (`parent_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='管理员权限列表树' AUTO_INCREMENT=104 ;-- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------表的结构`ecs_admin_log`==管理日志(登陆时间,登陆管理员ID,操作描述,IP)CREATE TABLE IF NOT EXISTS `ecs_admin_log` (`log_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID号',`log_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '写日志时间',`user_id` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '该日志所记录的操作者id,同ecs_admin_user的user_id',`log_info` varchar(255) NOT NULL COMMENT '管理操作内容', `ip_address` varchar(15) NOT NULL COMMENT '管理者登录ip', PRIMARY KEY (`log_id`),KEY `log_time` (`log_time`),KEY `user_id` (`user_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='管理员操作日志表' AUTO_INCREMENT=158 ;-- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------表的结构`ecs_admin_message`==管理员留言(发送者ID,接收者ID,发送日期,阅读日期,是否已读,是否删除,标题,内CREATE TABLE IF NOT EXISTS `ecs_admin_message` (`message_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID号',`sender_id` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '发送该留言的管理员id,同ecs_admin_user的user_id', `receiver_id` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '接收消息的管理员id,同ecs_admin_user的user_id,如果是给多个管理员发送,则同一个消息给每个管理员id发送一条',`sent_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '留言发送时间',`read_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '留言阅读时间',`readed` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '留言是否阅读,1,已阅读;0,未阅读',`deleted` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '留言是否已经是否已经被删除,1,已删除;0,未删除', `title` varchar(150) NOT NULL COMMENT '留言的主题',`message` text NOT NULL COMMENT '留言的内容',PRIMARY KEY (`message_id`),KEY `sender_id` (`sender_id`,`receiver_id`),KEY `receiver_id` (`receiver_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='管理员留言记录表' AUTO_INCREMENT=7 ;-- -------------------------------------------------------- 表的结构`ecs_admin_user`==管理员管理(用户名,email ,密码,加入时间,最后登陆时间,最后登陆IP,权限等)CREATE TABLE IF NOT EXISTS `ecs_admin_user` (`user_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID号,管理员代号',`user_name` varchar(60) NOT NULL COMMENT '管理员登录名',`email` varchar(60) NOT NULL COMMENT '管理员邮箱',`password` varchar(32) NOT NULL COMMENT '管理员登录秘密加密串',`add_time` int(11) NOT NULL DEFAULT '0' COMMENT '管理员添加时间',`last_login` int(11) NOT NULL DEFAULT '0' COMMENT '管理员最后一次登录时间',`last_ip` varchar(15) NOT NULL COMMENT '管理员最后一次登录ip',`action_list` text NOT NULL COMMENT '管理员管理权限列表', `nav_list` text NOT NULL COMMENT '管理员导航栏配置项',`lang_type` varchar(50) NOT NULL,`agency_id` smallint(5) unsigned NOT NULL COMMENT '该管理员负责的办事处的id,同ecs_agency的agency_id字段。

ecshop功能整理,ecshop功能列表,ecshop说明

ecshop功能整理,ecshop功能列表,ecshop说明
3.订单管理,在这里您可以对您网店上的所有订单进行详细的操作。包括订单列表 订单查询 合并订单 添加订单 发货订单列表 退货订单列表
4.广告管理,您可以在您的网店设置广告。有广告列表,和广告的位置。
5.报表统计,这里显示了您网店的一些报表,包括流量分析、客户统计、订单统计、销售概况、会员排行、销售明细、搜索引擎、销售排行、访问购买率、站外投放 JS。
9.系统设置,这里包含了网店的常用功能和全局配置的开关。包括 商店设置 、会员注册项的设置、支付方式和配送方式 、邮件服务器设置、地区列表、计划任务、友情链接、验证码管理、文件权限检测、首页广告管理、自定义导航栏、文件校验、站点地图。
10.模版管理,您可以给您的网店选择某个模版,也可以对现有的模版进行设置。这里包括了 模版选择、设置模版、库项目管理、语言项编辑、模版设置备份、邮件模版。
6.文章管理,在这里您可以设置 文章的分类 ,对现有文章的 添加和管理 等操作。以及 文章的的编辑,添加,会员等级的设置,对会员留言的回复,会员的充值提现,资金管理。
8.权限管理,您可以增加多个网店管理员,而且可以对网店管理员进行详细的权限设置。可以查看管理员日志,有管理员列表、角色管理、办事处列表、供货商列表。.
11.数据库管理,这里包含了数据的备份和恢复,以及表的优化,SQL查询。以及数据转化。
12.短信管理,这里设置后,可以在您的网店直接用短信的方式和您网店的会员进行联系。包括 发送短信。
13.推荐管理,通过推荐设置,可以让您的会员在推荐新会员后有所提成。这里包括了 推荐设置、分成管理
14.邮件群发管理,通过这里的设置,可以给您的会员发送邮件。这里包括了 关注管理、邮件订阅管理、杂志管理、邮件队列管理。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

回顾PDO:PHP数据对象,作为了一个数据抽象层来负责向下连接各种指定的数据库。

1.加载PDO扩展2.创建PDO对象(连接数据库):new PDO($dsn,$user,$pass)3.组织SQL并发送a)PDO::exec:没有数据(结果集返回),返回受影响的行数b)PDOStatement PDO::query:有结果集,返回结果集对象4.处理返回结果a)结果集记录数:PDOStatement::rowCount,columnCountb)取出结果集:fetch(PDO::FETCH_BOTH,FETCH_ASSOC,FETCH_NUM),fetchAll,fetchColumn,fetchObject5.关闭PDO(unset(PDO对象))预处理1.发送预处理:PDOStatement PDO::prepare2.准备执行数据a)传入一个参数数据:PDOStatement::execute($array)b)在执行前绑定变量:bindParam,bindValue,使用PDOStatement::executePDO事务处理PDO::beginTransaction:开启事务PDO::commit:确认提交PDO::rollback:回滚PDO异常处理1.设置错误处理模式为异常模式:PDO::setAttribute(PDO::ATTR_ERRORMODE,PDO::ERRMODE_EXCEPTION)2.指定异常语句库去捕捉异常try{//可能出现错误的语句}catch(PDOException $e){//抓取错误并处理$e->getTrace()}反射:Reflection将一个类的内部的结构给反映出来:ReflectionClass获取常量:getConstants获取属性:getProperties获取方法:getMethodsECSHOPEcshop是一个电子购物商城,功能非常完善。

安装Ecshop1.获得Ecshop,得到解压后的数据2.将有效的文件复制一份,放到可执行的站点下放到网站目录下重命名3.傻瓜式安装:请求ecshop目录下的index.php文件即可4.勾选协议选项错误a)开启GD库。

php.ini中6.配置系统:数据库+管理员7.安装完成8.需要修改ecshop的配置项a)后台的init.php。

/admin/includes/init.php 修改错误显示选项修改错误显示级别(前台)ECSHOP结构1.网站根目录:ecshop,使用/代表根目录2.根目录下有很多请求文件,比如index.phpa)index.php:会先加载/includes/init.php,加载初始化文件,includes文件夹是存放公共文件的地方(包含类文件)b)ecshop中类文件的命名规则:没有使用类.class.php命名规范3.后台:/admin表示后台4.后台的结构与前台基本相似a)index.php:会加载/admin/includes/init.php,加载后台初始化文件b)所有的能够被请求到的PHP文件第一件事情都是加载init.phpc)templates文件夹:存放所有的静态页(模板文件),负责所有的显示样式结构d)处理模式:加载模板文件,往里面插入数据,显示给用户项目设计给定一个项目需求,让项目经理(总监)制作一个项目方案,如何实现当前需求。

需求:做一个安全(不用别人的东西)的电子商务网站(服装,面向中老年),用户访问量比较大项目架构1.确定采用什么语言做?JAVA,jsp,php,asp…------→确定使用PHP开发2.确定项目架构?源码开发,框架开发,二次开发…→使用源码开发3.文件结构?扁平化,树状----------------------------------→树状结构4.文件如何存放?------------------------------------------------→按功能分类存放代码架构5.文件如何命名?------------------------------------------------→类:类名.class.php6.PHP文件如何进行编写?过程,对象-------------------→混合(过程+对象)数据架构7.数据库选择?关系型,非关系型---------------------------→关系型数据库8.数据库选择?Mysql,Oracle,DB2…----------------------→mysql数据库9.存储引擎?主查询,主操作,事务处理----------------→InnoDB默认的shop项目仿照ecshop进行开发(使用ecshop的模板文件)项目架构1.PHP语言开发2.使用源码开发3.项目目录结构(树状,模拟ecshop)4.代码开发方式:对象+过程混合5.Mysql数据库+InnoDB引擎shop项目要实现的功能:只做后台功能列表权限类:登录,验证码,退出首页:框架商品分类:增删改查,无限级分类商品类:增删改查,回收站思想,图片处理(缩略图,水印,文件上传)搭建shop项目环境1.找到shop项目的根目录2.增加后台目录/admin3.完善前台目录/4.完善后台目录。

/admin5.搭建虚拟主机,访问shop项目:6.访问后台:/admin/index.php源码开发后台必须先经过用户登录之后,才能够访问首页。

要先实现用户登录功能。

仿照ecshop,所有权限相关的文件都访问权限文件(privilege.php)1.后台增加一个privilege.php文件:/admin/privilege.php2.实现请求privilege.php能够进入系统登录界面。

/admin/privilege.phpa)将登录页面的模板文件放到/admin/templates下面b)privilege.php包含login.htmlc)“偷”ecshop的样式文件和图片和js文件d)修改模板文件中对样式和图片的请求路径。

/admin/templates/login.html后台公共文件/admin/includes/init.php公共文件:用于所有被请求的php文件最先加载的文件,用于系统的初始化。

比如:显示编码,定义目录常量。

1.创建init.php。

/admin/includes/init.php2.显示字符集设置3.定义网站目录结构常量。

/admin/includes/init.php4.使用目录常量:/admin/privilege.php5.增加系统错误处理。

/admin/includes/init.php提交用户信息1.修改login.html的form表单的提交对象。

/admin/templates/login.html2.表单增加隐藏数据:提示privilege.php当前请求到底是要请求谁。

3.接收数据,判断用户当前请求到底是什么动作。

/admin/privilege.phpa)接收用户动作b)判断用户动作,做不同的处理4.接收用户登录信息,进行验证a)接收用户信息b)数据合法性验证5.鉴于每个功能都有可能出现跳转,所以要封装一个跳转函数。

/admin/includes/functions.phpa)增加一个跳转函数b)让公共函数回归init.php。

/admin/includes/init.phpc)在需要使用跳转的地方调用admin_redirect函数。

/admin/privilege.phpd)在要跳转模板文件中,显示对应的数据信息。

/admin/templates/redirect.html6.数据有效性验证a)搭建项目数据库环境。

/admin/sql.sqlb)插入一个用户c)加载DB类,将以前写好的DB类加载项目。

/includes/DB.class.phpd)修改DB类,如前缀,数据库名字e)创建一个Admin.class.php,表对应的类。

/admin/includes/Admin.class.phpf)在privilege.php中创建Admin对象,开始调用Admin类的方法。

/admin/privilege.phpg)需要加载类Admin,使用自动加载。

/admin/includes/functions.phph)调用Admin类的验证用户信息的方法:checkByUsernameAndPassword()。

/admin/privilege.phpi)实现当前调用的方法。

/admin/includes/Admin.class.phpj)判断用户验证是否成功。

/admin/privilege.php7.防止SQL注入。

在使用mysql_query方法之前对SQL语句进行转义处理。

/includes/DB.class.php配置文件对系统中某些默认的数据进行管理的文件,如数据库连接信息配置文件往往单独存在于一个文件夹1.创建配置文件文件夹。

/conf2.增加一个配置文件:/conf/config.php3.在公共文件init.php中加载配置文件。

/admin/includes/init.php4.在DB类中使用默认的配置信息。

/includes/DB.class.php整个项目的访问流程1.请求privilege.php,默认act=login2.加载login.html3.用户填写用户信息,提交给privilege.php,act=signin4.接收用户信息5.判断信息的合法性6.判断信息的有效性a)使用Admin表类b)继承自DB类c)自动加载7.跳转:admin_redirect。

相关文档
最新文档