基于php的网上鲜花销售系统论文,网上鲜花销售系统的设计(论文+程序)

6.2用户登录与注册

当已经注册过的用户输入其用户名以及密码单击登录按钮便可以登录,但如果为新用户,单击注册按钮,在下一个页面中输入信息后再单击注册按钮后便可成为注册用户。

内容来自www.paper51.com

用户登录主要实现过程:通过spUserLogin存储过程获得UserID,作为用户ID,在通过GetShoppingCartID()获得TempCartID,之后再调用一个存储过程spShoppingCartMigrate将购物车合并。用户注册的实现过程与用户登录的实现过程基本上一样。 http://www.paper51.com

主要代码如下:

内容来自论文无忧网 www.paper51.com

用户登录

http://www.paper51.com

if (Page.IsValid)

内容来自论文无忧网 www.paper51.com

{

内容来自www.paper51.com

String ID = da.spUserLogin(tbUserName.Text.Trim(),tbPassword.Text.Trim()); paper51.com

if (ID != null)

paper51.com

{ paper51.com

String TempCartID = da.GetShoppingCartID(); copyright paper51.com

// 将当前临时的购物车清单转换到登录用户名下 内容来自论文无忧网 www.paper51.com

da.spShoppingCartMigrate(TempCartID, ID);

copyright paper51.com

// 保存登录用户Cookies copyright paper51.com

Response.Cookies["ShoppingCartUser"].Value = tbUserName.Text.Trim(); paper51.com

// 重定向浏览器到目标页面 copyright paper51.com

FormsAuthentication.RedirectFromLoginPage(ID, false); 内容来自www.paper51.com

}

http://www.paper51.com

else

paper51.com

{ paper51.com

da.Alert("用户名或密码错误!"); paper51.com

} paper51.com

}

内容来自论文无忧网 www.paper51.com

其中调用了两个存储过程:spUserLogin, spShoppingCartMigrate

copyright paper51.com

CREATE PROCEDURE  dbo.spUserLogin http://www.paper51.com

(

内容来自论文无忧网 www.paper51.com

@UserName CHAR(10), 内容来自www.paper51.com

@Password CHAR(10), http://www.paper51.com

@UserID INT OUTPUT

paper51.com

) paper51.com

AS

内容来自www.paper51.com

SELECT  @UserID = UserID  FROM  Users http://www.paper51.com

WHERE  UserName = @UserName 内容来自www.paper51.com

AND  Password = @Password copyright paper51.com

IF @@Rowcount < 1 http://www.paper51.com

SELECT  @UserID = 0 paper51.com

GO

paper51.com

CREATE PROCEDURE  dbo.spShoppingCartMigrate

内容来自论文无忧网 www.paper51.com

(

内容来自论文无忧网 www.paper51.com

@OldCartID VARCHAR(50), paper51.com

@NewCartID VARCHAR(50)

内容来自论文无忧网 www.paper51.com

) 内容来自www.paper51.com

AS

内容来自论文无忧网 www.paper51.com

UPDATE  ShoppingCart

copyright paper51.com

SET  CartID = @NewCartID  WHERE  CartID = @OldCartID 内容来自论文无忧网 www.paper51.com

GO

copyright paper51.com

用户注册的实现代码:

内容来自www.paper51.com

if (Page.IsValid) copyright paper51.com

{

paper51.com

//保存旧的购物车编号,以便注册后合并购物车

http://www.paper51.com

StringTempCartID = da.GetShoppingCartID();

内容来自www.paper51.com

//添加用户信息到数据库

内容来自论文无忧网 www.paper51.com

String UserID = da.AddUser(tbUserName.Value,tbPassword.Value, copyright paper51.com

tbAddress.Value, tbPostCode.Value, tbTelephone.Value); paper51.com

if (UserID != "")

内容来自论文无忧网 www.paper51.com

{

内容来自www.paper51.com

//将用户ID指定为通过安全登录的信息 paper51.com

FormsAuthentication.SetAuthCookie(UserID,false); 内容来自www.paper51.com

//合并购物车 paper51.com

da.spShoppingCartMigrate(TempCartID,UserID); 内容来自www.paper51.com

//将用户姓名保存到Cookies中 http://www.paper51.com

Response.Cookies["UserName"].Value= Server.HtmlEncode(tbUserName.Value.Trim()); paper51.com

//重定向到购物车界面 内容来自论文无忧网 www.paper51.com

Response.Redirect("shopcart.aspx"); paper51.com

}

http://www.paper51.com

else

内容来自www.paper51.com

{

http://www.paper51.com

da.Alert("该用户名已被注册!"); http://www.paper51.com

}

copyright paper51.com

} copyright paper51.com

调用了一个存储过程spShoppingCartMigrate. 内容来自www.paper51.com

CREATE PROCEDURE dbo.spShoppingCartMigrate http://www.paper51.com

( 内容来自论文无忧网 www.paper51.com

@OldCartID VARCHAR(50), @NewCartIDVARCHAR(50)

copyright paper51.com

) 内容来自论文无忧网 www.paper51.com

AS http://www.paper51.com

UPDATE   ShoppingCart paper51.com

SET  CartID = @NewCartID  WHERE   CartID = @OldCartID

内容来自www.paper51.com

GO copyright paper51.com

在用户注册的时候需要输入电话号码,电话号码采用了一个正则表达式,只有输入正确的格式才能注册,否则将提示错误信息。

copyright paper51.com

主要代码如下: 内容来自www.paper51.com

ValidationExpression="\(0\d{2}\)[- ]?\d{8}|0\d{2}[- ]?\d{8} paper51.com

|\(0\d{3}\)[- ]?\d{7}|0\d{3}[- ]?\d{7} 内容来自论文无忧网 www.paper51.com

|13\d{9}|159\d{8}” 内容来自www.paper51.com

6.3注销

内容来自www.paper51.com

用户可以变化身份登录,主要采取的方法是用户注销,再重新以另外一种身份登录。 http://www.paper51.com

注销的实现过程:通过调用.NET的一个控件FormsAuthentication.SignOut()来完成。

内容来自www.paper51.com

主要代码如下: 内容来自www.paper51.com

protectedvoid btnLogout_Click(object sender, EventArgs e)

paper51.com

{

paper51.com

FormsAuthentication.SignOut();

内容来自www.paper51.com

Response.Redirect("index.aspx"); copyright paper51.com

}

http://www.paper51.com

6.4下订单 内容来自www.paper51.com

客户在购物车的页面中填完送货地址、邮编及电话后按保存按钮可以下订单,在管理页面中点击查看订单详情可以查看所下订单,如图10,11所示。 copyright paper51.com

主要实现过程:1)获取当前用户的OrderID

paper51.com

2)利用ShoppingCart表和Flower表的内联接,将当前用户的当前购物车复制到当前所产生的订单详情中 内容来自论文无忧网 www.paper51.com

3)利用OrderDetails表和Flower表的内联接,扣除Flower表中的鲜花库存 内容来自论文无忧网 www.paper51.com

4)调用另一存储过程spShoppingCartEmpty将购物车清空

http://www.paper51.com

copyright paper51.com

图10 下订单 内容来自论文无忧网 www.paper51.com

paper51.com

图11 订单详情

http://www.paper51.com

主要代码如下: 内容来自www.paper51.com

CREATE PROCEDURE dbo.spOrdersInsert

paper51.com

(

http://www.paper51.com

@UserID  INT,  @CartID   NVARCHAR(50), copyright paper51.com

@Address  VARCHAR(50),  @PostCode  CHAR(10), http://www.paper51.com

@Telephone  VARCHAR(50),@OrderID   INT OUTPUT

copyright paper51.com

)

http://www.paper51.com

AS 内容来自论文无忧网 www.paper51.com

BEGIN TRAN OrdersInsert  /* 产生订单 */ paper51.com

INSERT INTO Orders

copyright paper51.com

( 内容来自论文无忧网 www.paper51.com

UserID, Address, PostCode, Telephone, OrderDate paper51.com

) 内容来自www.paper51.com

VALUES

内容来自www.paper51.com

(

copyright paper51.com

@UserID,@Address, @PostCode, @Telephone

http://www.paper51.com

GETDATE()

copyright paper51.com

)

内容来自www.paper51.com

-- 返回当前所产生的OrderID

内容来自www.paper51.com

SELECT @OrderID = @@Identity 内容来自论文无忧网 www.paper51.com

/* 将当前用户的当前购物车复制到当前所产生的订单详情中*/

copyright paper51.com

INSERT INTO OrderDetails

内容来自www.paper51.com

( http://www.paper51.com

OrderID, FlowerID, Quantity 内容来自www.paper51.com

)

paper51.com

SELECT OrderID, ShoppingCart.FlowerID, Quantity

copyright paper51.com

FROM ShoppingCart  INNER JOIN

paper51.com

Flower ON  ShoppingCart.FlowerID = Flower.FlowerID

paper51.com

WHERE CartID = @CartID 内容来自www.paper51.com

/*扣除相应的库存鲜花数量*/ 内容来自www.paper51.com

UPDATE Flower

paper51.com

SET FlowerStock = FlowerStock - OrderDetails.Quantity http://www.paper51.com

FROM OrderDetails INNER JOIN 内容来自论文无忧网 www.paper51.com

Flower ON OrderDetails.FlowerID =Flower.FlowerID

内容来自www.paper51.com

WHERE OrderDetails.OrderID = @OrderID

内容来自论文无忧网 www.paper51.com

/* 完成后, 调用另一存储过程spShoppingCartEmpty

paper51.com

清空当前购物车ID的所有明细*/

内容来自www.paper51.com

EXEC spShoppingCartEmpty @CartID http://www.paper51.com

COMMIT TRAN OrdersInsert

paper51.com

GO 内容来自论文无忧网 www.paper51.com

其中调用了一个存储过程spShoppingCartEmpty paper51.com

主要代码如下: paper51.com

CREATE Procedure spShoppingCartEmpty

paper51.com

( paper51.com

@CartID nvarchar(50) 内容来自论文无忧网 www.paper51.com

)

内容来自论文无忧网 www.paper51.com

AS

内容来自论文无忧网 www.paper51.com

DELETE FROM ShoppingCart

paper51.com

WHERE CartID = @CartID

内容来自论文无忧网 www.paper51.com

GO

http://www.paper51.com

6.5撤消订单

paper51.com

客户可以在规定的时间内将自己所下的订单撤消,如图12。 paper51.com

主要实现过程:将Orders表中的Dispatched值设置为1,因为系统的默认为0,0表示未发货,1代表已发货,如果已经发了货,自然就相当于将订单删除。 paper51.com

http://www.paper51.com

图12 撤消订单

copyright paper51.com

paper51.com

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值