闲置物品交易平台的后台管理系统

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于的闲置物品交易平台的后台管理系统
第一章绪论
选题意义
基于的闲置物品交易平台的后台管理系统,提供较为完备的功能,能方便管理员有效地管理网站,使网站的日常维护变得简洁方便,为提高用户体验提供依据,能大大提高网站的维护效率。

选题背景
快速原型法是管理信息系统的一种开发方法。

在系统开发之初,为用户构造一个系统的模型,即原型,反复演示原型并征求用户的意见和建议,开发人员再根据用户意见和建议不断修改并完善原型,直到用户满意,这种方法就是快速原型法。

本系统采用的正是这种开发方法。

快速原型法实质上是一种迭代的循环型的开发方式,其开发过程如如下图所示:
图 1-1
第二章闲置物品交易平台后台管理系统开发相关技术
简介
,是从 ASP 发展而来的,但是它并非只是ASP的升级版。

是一个已编译的、基于.NET 的环境,任何应用程序都可以使用整个.NET框架,而且可以用任何与.NET 兼容的语言(包括 Visual 、C#和)创作应用程序。

[1]相比 ASP,提供更加稳定的性能、优秀的升级性、更快速更简便的开发管理、全新的语言以及网络服务。

C#简介
C#语言是为.NET FrameWork 精心设计的一种全新的面向对象的高级程序设计语言。

C#继承了C和C++强大功能的同时去掉了它们的复杂特性(比如),使其成为一种安全的、稳定的、简单的、优雅的程序设计语言。

它的一个重要特点是能够与 Web 紧密结合,只需使用简单的C#语言结构、C#组件就可以方便地为 Web 服务,并允许它们通过 Internet 被运行在任何操作系统上的任何语言调用。

[1]
而且根据TIOBE 近几年的编程语言排行榜显示C#一直是主流的编程语言。

SQL Server 2008 简介
SQL Server 2008 是由微软开发和维护的关系型数据库管理系统。

它是基于客户端/服务器模式的数据库系统,图形化界面使用户能够更加快捷方便地对数据库进行管理,同时提供了丰富的编程接口,为程序的开发提供了更多的便利。

SQL Server 2008为关系型数据和化数据提供了更安全的功能,使用户可以和管理用于的高可用和高性能的数据。

第三章闲置物品交易平台后台管理系统简介
系统概述
网站的维护和优化工作是十分繁琐的。

如果没有一个可视化的管理后台,那么网站的管理会非常复杂,若没有基本的网站建设知识就很难对网站进行维护和优化。

针对这一情况,本系统在满足闲置物品交易平台的后台功能的基础上,注重发挥信息系统的智能化,以减轻网站管理员的工作负担。

本系统主要实现的功能模块有注册用户信息查询、举报处理、供求信息审核、论坛管理、意见建议反馈处理、用户申诉处理、商品类别管理、公告管理、首页幻灯片、管理员管理以及管理员自有密码的管理等功能。

用户通过本系统,可以快捷的处理闲置物品交易平台的后台业务,还能查询平台的基本信息,对供求信息进行统计分析,并可以以此分析
研究在校大学生的闲置物品消费行为。

系统总体功能结构图
本课题系统总体结构如下图:
图 3-1
开发环境
本系统所采用的开发环境如下:
操作系统:Windows 7
数据库:SQL Server 2008
开发工具:Microsoft Visual Studio 2010
开发环境: Framework SDK
开发语言:C#
设计思路
本系统采用 (C#)开发技术和 SQL Server 2008数据库系统,使用Visul Studio 2010 工具作为开发工具,可跨平台运行。

总体设计思路如下:
第一步:理清思路,分析系统需求,得出基本需求;
第二步:实现系统界面的原型设计以及数据库的原型设计;
第三步:在以上步骤的基础上,进行相应的功能实现,得出系统原型;
第四步:修正和改正系统原型;
第五步:得出最终系统。

第四章闲置物品交易平台后台管理系统的系统分析
可行性分析
如今计算机技术、网络技术发展都特别迅速,电子商务网站开发技术也已经成熟,为闲置物品交易平台后台管理系统的开发建设提供了良好的开发平台。

微软公司为程序开发提供了一个非常强大的开发工具,即,它是目前最流行的平台应用程序的。

它提供了整个中所需要的大部分工具,如统一建模语言工具(UML)、(IDE)、代码管控工具等等。

闲置物品交易平台后台管理系统是基于并采用面向对象的C#语言在 Vistual Studio环境中进行开发建设的,功能齐全,编程简单快速,能很好的响应闲置物品交易平台的管理需求,性价比高,操作简单,是提高闲置物品交易平台管理效率和运营效率的一个有效途径。

需求分析
需求分析是设计数据库的起点,需求分析的结果能够准确地反应用户的实际要求,为以后的具体设计做准备。

在对用户情况的分析及本系统的业务流程分析的基础上,确定系统应实现的功能。

通过问卷调查、图书馆以及网站查找资料后,得出闲置物品交易平台后台管理系统所需的功能如下:
(1)注册用户信息查询
管理员有权查看注册用户的基本信息,其中包括用户名、注册时间、最后登陆时间、发布的供求信息以及用户账号状态等。

(2)举报处理
管理员可根据举报信息将被举报用户的账号状态设置为“冻结”,被设置为“冻结”状态的账号是不允许登录操作的。

另外,管理员亦可将被举报用户发布的违规消息的状态改为“非法”。

经过一定时间后,被举报用户未提交申诉材料则管理员可删除其发布的违规信息。

举报信息包含被举报用户,举报理由,举报用户,举报时间。

(3)供求信息管理
管理员可以查询本系统中的所有供求信息,并且可以对这些信息进行相应处理。

管理员如若发现违规信息,可将该信息状态设置为“非法”状态。

另外,对于旧信息,管理员可对其进行删除处理。

供求信息包含用户、供求类别、发布时间以及供求信息状态。

(4)意见建议反馈处理
管理员可查询注册用户对本网站的意见建议并加以回复。

可以删除过期或者无用的意见建议。

(5)用户申诉处理
审核注册用户的申诉材料,包含账号密码找回申诉材料、被举报处理申诉材料。

管理员依据用户提供的账户密码找回申诉材料的真实性判断是否重置用户的账号密码。

账户密码找回申诉材料,包含用户名、注册时间、最后登陆时间、发布的供求信息,邮箱、QQ账号以及手机号码。

管理员依据用户提供的被举报处理申诉材料的真实性判断是否将该用户账号及其发布的信息恢复成“正常”状态。

(6)管理员管理
管理员管理分为两部分,即超级管理员和普通管理员。

超级管理员可新增或者删除管理员,可对普通管理员的登录密码进行初始化或者重置处理。

普通管理员仅可以修改自己的登录密码。

(7)公告管理
发布公告,删除公告以及修改公告。

(8)首页幻灯片
管理增加、删除幻灯片图片,以及修改图片连接。

(9)商品类别管理
增加、修改或删除商品类别名称。

(10)网站栏目导航管理
增加、修改或删除网站栏目导航名称、链接以及排序。

第五章闲置物品交易平台后台管理系统数据库设计
数据库需求分析
数据库需求分析,主要是收集基本数据和数据处理的流程,是以调查和分析为主要手段的。

主要解决两个问题: 第一个问题是用户的信息需求,即调查理清用户需要保存哪些信息,从这些信息中要得到什么样的信息,这些信息以及信息之间应当满足的完整性要求。

第二个问题是处理要求,即调查用户要在系统中实现什么样的功能,理清数据库中各种数据之间的关系。

课题针对这两个问题,对系统的业务流程和数据流程进行详细的分析,确定需要设计如下所示的数据字段和表:
(1) 注册用户信息表,数据字段包括:用户编号、用户名、密码、注册邮箱、注册时间、状态
(2) 举报信息表,数据字段包括:举报编号,被举报用户,举报理由,举报用户,举报时间
(3)举报处理信息表,数据字段包括:举报处理编号,举报编号,处理意见,处理人,处理时间
(4)供求信息表,数据字段包括:供求信息编号,用户编号,供求类别,发布时间
(5) 供求信息审核表,数据字段包括:供求审核编号,供求信息编号,审核意见,审核人,审核时间
(6) 意见建议反馈处理信息表,数据字段包括:意见建议编号,用户名,意见建议,时间,状态
(7) 商品类别表,数据字段包括:商品类别编号,类别名称,状态
(8) 公告信息表,数据字段包括:公共编号,公共内容,状态
(9) 首页幻灯片表,数据字段包括:幻灯片编号,幻灯片地址,幻灯片链接
(10) 管理员信息表,数据字段包括:管理员编号,管理员名称,登录密码,权限
(11) 导航栏表,数据字段包括:栏目编号,栏目名称,栏目排序
数据库概念结构设计
数据库概念结构设计是在需求分析的基础上,依照需求分析中的信息要求,对用户信息加以分类聚集和概括,建立信息模型,并依照选定的数据库管理系统软件,把它们转换为数据的逻辑结构,再依照软硬件环境最终实现数据的合理存储。

[2]
依据本系统需求分析阶段收集的信息设计如下实体联系图:
图 5-1
数据库逻辑结构设计
数据库逻辑结构设计是在概念结构设计的基础上进行的数据模型设计可以是层次、网状模型和关系模型。

[2]由于本系统采用的DBMS是SQL SERVER 2008,是基于关系模型的数据库管理系统,因此本系统的数据模型也为关系模型。

以下是根据概念结构设计阶段完成的实体联系图而得出的关系模型:
(1)注册用户信息表(用户编号、用户名、密码、注册邮箱、注册时间、手机号码、状态)
(2)举报信息表(举报编号,被举报用户,举报理由,举报用户,举报时间)
(3)举报处理表(举报处理编号,举报编号,举报处理结果,处理人,处理时间)
(4)账号申诉材料信息表(申诉编号,用户编号,用户名,注册时间,性别,注册邮箱,电话号码,申诉时间,处理状态)
(5)举报申诉材料信息表(申诉编号,举报编号,申诉理由,申诉时间,用户编号,处理状态)
(6)申诉处理表(申诉处理编号,申诉编号,申诉处理结果,处理人,处理时间)
(7)供求信息表(供求信息编号,用户编号,供求类别,发布时间)
(8) 供求信息审核表(供求审核编号,供求信息编号,审核意见,审核人,审核时间)
(9) 意见建议反馈处理信息表(意见建议编号,用户编号,意见建议,时间,阅读状态)
(10) 商品类别表(商品类别编号,类别名称,状态,管理员编号)
(11) 公告信息表(公共编号,公告标题,公共内容,状态,管理员编号)
(12) 首页幻灯片表(幻灯片编号,幻灯片地址,幻灯片链接,管理员编号)
(13) 管理员信息表(管理员编号,管理员名称,登录密码,权限)
(14) 导航栏表(栏目编号,栏目名称,栏目排序)
其中,各表的详细设计信息如下所示:
表 5-1 Register_info(注册用户信息表)
字段数据类型长度约束备注
id int 主键,自增长用户编号
name varchar 24 唯一,不为空用户名
pwd varchar 24 不为空密码
email varchar 24 唯一,不为空注册邮箱
tel varchar 12 唯一,不为空手机号码
state char 2 不为空状态
regtime vachar 50 不为空注册时间
表 5-2 Report_info(举报信息表)
字段数据类型长度约束备注
id int 主键,自增长举报编号
uid int 外键被举报用户编号reason text 不为空举报理由
uuid int 外键举报用户
time varchar 12 不为空举报时间
表 5-3 Reportresult(举报处理表)
字段数据类型长度约束备注
id int 主键,自增长举报处理编号rid int 外键举报编号
result text 不为空举报处理结果aid int 外键处理人
time varchar 12 不为空处理时间
表 5-4 AppealAccount(账号申诉材料信息表)
字段数据类型长度约束备注
Id int 主键申诉编号UserId int 不为空用户编号UserName varchar 24 不为空用户名RegTime varchar 50 注册时间
Sex varchar 2 性别
Email varchar 50 注册邮箱Phone varchar 12 电话号码
Time varchar 50 申诉时间
State char 2 处理状态
表 5-5 AppealReport(举报申诉材料信息表)
字段数据类型长度约束备注
Id int 主键申诉编号
举报编号
rid int 不为空,外

reason text 不为空申诉理由time varchar 50 不为空申诉时间UserId varchar 2 外键用户编号State varchar 50 不为空处理状态
表 5-6 (申诉材料信息表)
长度约束备注
字段数据类

id int 主键,自增长申诉编号type int 外键申诉类型编号
int 外键申诉内容content text 不为空申诉理由time varchar 12 不为空申诉时间
uid int 外键申诉人编号表 5-7 result(申诉处理表)
字段数据类型长度约束备注
id int 主键,自增长申诉处理编号rid int 外键申诉编号result text 不为空申诉处理结果aid int 外键处理人
time varchar 12 不为空处理时间
表 5-8 Goods_info(供求信息表)
字段数据类型长度约束备注
id int 主键,自增长供求信息编号typeid int 外键供求类别编号uid int 外键用户编号time varchar 12 不为空处理时间
表 5-9 供求信息审核表
字段数据类型长度约束备注
id int 主键,自增长供求审核编号typeid int 外键供求信息编号uid int 外键用户编号time varchar 12 不为空处理时间
表 5-10 Suggestion (意见建议反馈处理信息表)
字段数据类型长度约束备注
id int 主键,自增长意见建议编号uid int 外键用户编号content int 不为空意见建议time varchar 12 不为空时间
state char 2 不为空阅读状态
表 5-11 Gtype(商品类别表)
字段数据类型长度约束备注
id int 主键,自增长商品编号name varchar 24 不为空商品类别
aid int 外键管理员
time varchar 12 不为空时间
state char 2 不为空状态
表 5-12 Notice(公告信息表)
字段数据类型长度约束备注
id int 主键,自增长公告编号title varchar 50 不为空公告标题content text 不为空管理员time varchar 12 不为空时间
state char 2 不为空状态
表 5-13 Indexbanner (首页幻灯片表)
字段数据类型长度约束备注
id int 主键,自增长幻灯片编号imgaddr varchar 50 不为空幻灯片地址url varchar 50 不为空幻灯片链接aid varchar 12 不为空管理员编号
表 5-14 Navinfo(导航栏表)
字段数据类型长度约束备注
id int 主键,自增长栏目编号name varchar 50 不为空栏目名称pwd varchar 50 不为空栏目排序
表 5-15 Admininfo(管理员信息表)
字段数据类型长度约束备注
id int 主键,自增长管理员编号name varchar 50 不为空管理员名称pwd varchar 50 不为空登录密码
power varchar 12 不为空权限
第六章闲置物品交易平台后台管理系统主要的界面和代码的实现系统公共模块设计
IIS服务器配置
在建立或使用网站之前,必须通过IIS 创建站点及设置好站点主目录,使用SQL Server 2005 附加或创建相应的数据库,才能够使该站点运行起来。

IIS(Internet Information Services)包含许多管理网站的Web 服务器的功能,提供网页在线浏览、网上信息发布等功能。

IIS 安装与配置成功后,生成一个默认网站,使用该默认网站作为网站的Web 服务器,也可以创建一个虚拟目录指向物理文件夹来加载站点。

在本地IIS 创建企业站点,将源文件存放位置D:\E-commerce 设置为主目录。

数据库连接配置
在整个站点中,需要和数据库建立连接时,将使用同一个连接字符串。

将其存放在文件中,这样可以有效的避免错误的发生,同时也方便程序员的调用。

文件对于访问站点的用户来说是不可见的,而且也是不可访问的。

为了方便对数据的操作和限制,本系统在文件中配置了一些参数。

主要配置参数是数据库连接字符串,具体配置如下:<configuration>
<connectionStrings>
<add name="ConnectionString"connectionString="Data
Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\;Integrated Security=True;User
Instance=True"
providerName="" />
<add name="ehConnectionString"connectionString="Data Source=LZJ-PC;Initial
Catalog=eh;Integrated Security=True"
providerName="" />
</connectionStrings>
<>
<compilation debug="true"targetFramework=""/>
<httpRuntime requestValidationMode="" />
</>
</configuration>
自定义公共类
本系统中包含了两个自定义公共类,分别为dataOperate类和Jscript类。

其中dataOperate类主要用于数据库管理,它的成员函数包括createCon、execSQL、seleSQL,分别用于创建数据库连接、执行sql语句、判断是否存在指定数据。

Jscript类主要用于输出Jscript脚本代码,其成员主要是重载了两个MessageBox函数,一个用于弹出窗口并跳转至指定页面,另一个只弹出警告窗口。

下面是两个类的具体代码:
public class dataOperate
{
public static SqlConnection createCon()
{
string connstr = "Data Source= Catalog=eh;Integrated Security=True";
SqlConnection conn = new SqlConnection(connstr);
return conn;
}
public static bool execSQL(string sql)
{
SqlConnection conn = createCon();
();
SqlCommand com = new SqlCommand(sql, conn);
try
{
();
();
}
catch
{
();
return false;
}
return true;
}
public static bool seleSQL(string sql)
{
int i;
SqlConnection conn = createCon();
();
SqlCommand com = new SqlCommand(sql, conn);
try
{
i = ());
();
}
catch
{
();
return false;
}
if (i > 0)
{
return true;
}
else
{
return false;
}
}
public static DataSet getDataset(string sql, string table)
{
SqlConnection conn = createCon();
();
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
(ds, table);
return ds;
}
public static SqlDataReader getRow(string sql)
{
SqlConnection conn = createCon();
();
SqlCommand com = new SqlCommand(sql, conn);
oString();
}
return i;
}
}
public class jscript
{
public static string MessageBox(string text, string url)
{
string str1, str2;
str2 = ";=";
str1 = "<script language=\"jscript\">confirm(\""+ text + "!\")"+ str2 + url + "</script>";
return str1;
}
public static string MessageBox(string text)
{
string str1;
str1 = "<script language=\"jscript\">confirm(\"" + text + "!\")" + "</script>";
return str1;
}
public static string MessageBox(string text, string url,string a)
{
return"<script language=\"jscript\">alert(\"" + text + "!\");='" +url+ "'</script>";
}
}
公共母版页及自定义控件的设计
母版页和自定义控件是vs 2005 以来最重要的新功能之一,它有两种重要作用:一是代码的复用度提高,二是为整个网站保持创建一致的布局。

以下是本系统中的母版页,所有页面都是在此母版页的基础上开发设计的。

母版页的头部以及左部导航均引用了自定义控件。

图 6-1
首页设计
管理员登录成功后自动跳转至后台管理系统首页,后台管理首页界面设计如下:
图 6-2
登录模块的设计与实现
当用户名、密码以及验证码都输入正确时,方可登录后台管理主界面,否则提示用户名或密码或者验证码错误。

验证码的设置可以防止非法用户利用工具软件暴力破解登录密码。

界面设计
图 6-3
代码实现
以下为登录按钮的主要代码:
protected void btSubmit_Click(object sender, EventArgs e)
{
string sql = "select * from admin_info where name='"++ "' and pw = '"++"'" ;
if"check"].ToString()))oString() + rdr["pw"].ToString());
}
("");
}
else
{
("用户名或者密码错误"));
}
}
else
{
("验证码错误"));
}
}
以下为实现验证码的主要代码:
public partial class images_Default : Random ran = new Random();
protected void Page_Load(object sender, EventArgs e)
{
string str = getRandomValidate(4);
Session["check"] = str; oString();
}
return rtuStr;
}
图 6-4
图 6-5
图 6-6
图 6-7
UserId], [name] FROM [Goods],[admin_info],[GoodsType],[Report_info] where [aid] = [admin_info].[id] and [Goods].[GoodTypeID]=[GoodsType].[GoodTypeID] and [Report_info].[gid]=[GoodsId] and [Report_info].[id]= " + ["id"];
= "SELECT , , , , , , FROM Report_info INNER JOIN UserInfo ON = and = "+ ["id"]; }
else
("非法操作", "", ""));
}
protected void Button1_Click(object sender, EventArgs e)
{
Pp(0);
}
protected void Button3_Click(object sender, EventArgs e)
{
Pp(1);
}
protected void Button2_Click(object sender, EventArgs e)
{
Pp(1);
}
}
供求信息管理
界面设计
下图为供求信息管理查询页面:
图 6-8
下图为供求信息管理详细页面:
图 6-9
代码实现
以下供求信息查询的代码实现:
public partial class goods : public string sql = "SELECT [GoodsTitle], [GoodsId], [Content], [Flag], [IsGoodsPic], [DownCount], [GoodTypeID], [UserId], [BuySell], [name], [State] FROM
[Goods],[admin_info] where [aid] = id ";
protected void Page_Load(object sender, EventArgs e)
{
if (!["action"]))
{
switch ["action"])
{
case"1":
sql += "and [BuySell]='供?'";
break;
case"2":
sql += "and [BuySell]='求ó'";
break;
case"3":
sql += "and [BuySell]='送í'";
break;
case"4":
sql +=" and < DATEADD(YEAR, -1, GETDATE())";
break;
default:
("非法操作", "", ""));
return;
}
= sql;
}
}
protected void TextBox1_TextChanged(object sender, EventArgs e) {
if (!)
{
sql += " and [GoodsId] = " + ;
= sql;
}
}
protected void TextBox4_TextChanged(object sender, EventArgs e) {
if (!)
{
sql += " and [GoodsTitle] like '%" + +"%'";
= sql;
}
}
protected void TextBox2_TextChanged(object sender, EventArgs e) {
if (!)
{
sql += " and [UserId] = '" + + "'";
= sql;
}
}
protected void TextBox3_TextChanged(object sender, EventArgs e)
{
if (!)
{
sql += " and [ContractMan] like '%" + + "%'";
= sql;
}
}
}
以下为供求信息管理功能的代码实现:
public partial class goodsInfo : public void P(string sql)
{
if (sql))
{
("操作成功", "?id=" + ["id"], ""));
}
else
{
("操作失败", "?id=" + ["id"], ""));
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!["id"]))
= "SELECT [GoodsId], [GoodsTitle], [Email], [ContractMan], [Phone], [Address], [Content], [Flag], [BuySell], [Price], [PicPath], [ProTimeEnd], [TypeName], [UserId], [name] FROM [Goods],[admin_info],[GoodsType] where [aid] = [id] and [Goods].[GoodTypeID]=[GoodsType].[GoodTypeID] and [GoodsId] = '" + ["id"] +"'";
else
("非法操作","",""));
}
protected void Button1_Click(object sender, EventArgs e)
{
string sql="";
SqlDataReader rdr = ("select [Flag] from [Goods] where [GoodsId] = '" + ["id"] + "'");
while ())
{
if (rdr["Flag"].Equals("0") || rdr["Flag"].Equals("-1"))
{
sql = "update [Goods] set [Flag] = 1 where [GoodsId] = '" + ["id"] + "'";
}
else
{
sql = "update [Goods] set [Flag] = 0 where [GoodsId] = '" + ["id"] + "'"; }
}
P(sql);
}
protected void Button3_Click(object sender, EventArgs e)
{
string sql = "update [Goods] set [Flag] = -1 where [GoodsId] = '" + ["id"] + "'"; P(sql);
}
protected void Button2_Click(object sender, EventArgs e)
{
string sql = "delete [Goods] where [GoodsId] = '" + ["id"] + "'";
if (sql))
{
("操作成功", "", ""));
}
else
{
("操作失败", "", ""));
}
}
}
意见建议反馈处理
界面设计
下图为意见建议查询页:
图 6-10
下图为意见建议反馈详细页:
图 6-11
代码实现
以下为意见建议查询页的代码:
public partial class suggestion : protected void Page_Load(object sender, EventArgs e)
{
if (!["action"]))
{
string sql;
switch ["action"])
{
case"1":
sql = "SELECT [id], [title], [suggestiontime], [readstate],[UserName] FROM [suggestion],[UserInfo] where uid = UserId and readstate='0' ";
break;
case"2":
sql = "SELECT [id], [title], [suggestiontime], [readstate],[UserName] FROM [suggestion],[UserInfo] where uid = UserId";
break;
default:
("非法操作", "", ""));
return;
}
= sql;
}
}
}
以下为意见建议详细页面的代码:
public partial class suggestionInfo : protected void Page_Load(object sender, EventArgs e) {
if (!["id"]))
{
string sql = "SELECT [id],[content] , [title], [suggestiontime], [readstate],[UserName] FROM [suggestion],[UserInfo] where uid = UserId and [id] = " + ["id"];
= sql;
(sql);
sql = "update [suggestion] set [readstate]='1' where id = " + ["id"];
if (!(sql))
{
("系统出错", "", ""));
}
}
else
{
("非法操作", "", ""));
}
}
}
用户申诉处理
界面设计
下图为用户申诉处理查询界面:
图 6-12 下图为用户账号密码申诉处理详细页面:
图 6-13 下图为用户被举报申诉处理页面:
图 6-14
代码实现
以下为用户账号密码找回申诉处理页面的代码实现:
public partial class AppealAccountAction: protected void Page_Load(object sender, EventArgs e)
{
if (!["id"]))
{
= ["id"];
string sql = "SELECT [Id], [UserId], [UserName], [RegTime], [Sex], [Email], [MPhone], [TIME], [state] FROM [AppealAccount] where id = "+["id"];
= sql;
SqlDataReader rdr = (sql);
while ())
{
sql = "SELECT [MPhone], [Email], [State], [Sex], [RegTime], [UserName], [UserPassWord], [UserId] FROM [UserInfo] where id" + rdr["UserId"];
= sql;
}
}
else
{
("非法操作", "", ""));
return;
}
}
protected void Button2_Click(object sender, EventArgs e)
{
if (!("select id from [AppealAccountResult] where type = '1' and id = " + ["id"]))
{
string sql = "insert into [AppealAccountResult]([id] ,[result],[time] ,[aid],[type]) values(" + ["id"] + ",'" + + "',CONVERT(varchar(100), GETDATE(), 20)," + Session["id"] + ",'1') ";
if (sql))
{
string Uupdatesql = "update [UserInfo] set [UserPassWord] = (select MPhone from [UserInfo] where [UserId] = " + ["id"] + ") where [UserId] = " + ["id"];
(Uupdatesql);
("操作成功", "?id=" + ["id"], ""));
}
else
{
("操作失败", "?id=" + ["id"], ""));
}
}
else
{
("信息已处理,不可更改", "?id=" + ["id"], ""));
}
}
protected void Button1_Click(object sender, EventArgs e)
{
if (!("select id from [AppealAccountResult] where type = '1' and id = " + ["id"]))
{
string sql = "insert into [AppealAccountResult]([id] ,[result],[time] ,[aid],[type]) values(" + ["id"] + ",'" + + "',CONVERT(varchar(100), GETDATE(), 20)," + Session["id"] + ",'1') ";
("update [AppealAccount] set [state] = '1' where id = " + ["id"]);
(sql);
if (sql))
{
string Uupdatesql = "update [UserInfo] set [UserPassWord] = (select MPhone from [UserInfo] where [UserId] = " + ["id"] + ") where [UserId] = " + ["id"];
(Uupdatesql);
("操作成功", "?id=" + ["id"], ""));
}
else
{
("操作失败", "?id=" + ["id"], ""));
}
}
else
{
("信息已处理,不可更改", "?id=" + ["id"], ""));
}
}
}
以下为用户被举报申诉处理页面的代码实现:
public partial class AppealReportAction : public int id,rid,gid;
protected void Page_Load(object sender, EventArgs e)
{
if (!["id"]))
{
id = ["id"]);
string sql = "SELECT [Id],[rid],[UserName],[reason],[AppealReport].[state], [TIME] FROM [AppealReport],[UserInfo] where [UserInfo].[UserId] = [AppealReport].[UserId] and Id = " + id;
SqlDataReader rdr = (sql);
while ())
{
rid = (rdr["rid"]);
}
= sql;
= "SELECT [GoodsId], [GoodsTitle], [Email], [ContractMan], [Phone], [Address], [Content], [Flag], [BuySell], [Price], [PicPath], [ProTimeEnd], [TypeName], [Goods].[UserId], [name] FROM [Goods],[admin_info],[GoodsType],[Report_info] where [aid] = [admin_info].[id] and [Goods].[GoodTypeID]=[GoodsType].[GoodTypeID] and [Report_info].[gid]=[GoodsId] and [Report_info].[id]= " + rid;
= "SELECT , , , , , , FROM Report_info INNER JOIN UserInfo ON = and = " + rid; }
else
{
("非法操作", "", ""));
return;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
if (!("select id from [AppealAccountResult] where type = '0' and id = " + ["id"]))
{
string sql = "insert into [AppealAccountResult]([id] ,[result],[time] ,[aid],[type]) values(" + ["id"] + ",'" + + "',CONVERT(varchar(100), GETDATE(), 20)," + Session["id"] + ",'0') ";
("update [AppealAccount] set [state] = '1' where id = " + ["id"]);
if (sql))
{
SqlDataReader rdr = ("select [gid] from [Report_info] where [id] = " + rid);
while ())
{
gid = (rdr["gid"]);
}
("update [Goods] set [State] = '1' where [GoodsId] = " + gid);
("update [AppealReport] set [State] = '1' where [Id] = " + ["id"]);
("操作成功", "?id=" + ["id"], ""));
}
else
{
("操作失败", "?id=" + ["id"], ""));
}
}
else
{
("信息已处理,不可更改", "?id=" + ["id"], ""));
}
}
protected void Button2_Click(object sender, EventArgs e)
{
if (!("select id from [AppealAccountResult] where type = '0' and id = " + ["id"]))
{
string sql = "insert into [AppealAccountResult]([id] ,[result],[time] ,[aid],[type]) values(" + ["id"] + ",'" + + "',CONVERT(varchar(100), GETDATE(), 20)," + Session["id"] + ",'0') ";
("update [AppealReport] set [state] = '1' where id = " + ["id"]);
if (sql))
{
("update [AppealReport] set [State] = '1' where [Id] = " + ["id"]);
("操作成功", "?id=" + ["id"], ""));
}
else。

相关文档
最新文档