网上“店铺”DIY(3)(转)

本文解析了ASP购书网站的购货篮、登录验证及会员注册程序,演示了如何处理用户输入、数据库操作和会话管理,为初学者提供了一个简单的实践案例。
Buy.asp

购货蓝

src="file://C:InetPubwwwrootimages itle.jpg">


function ID(mystr)

pos=0

for i=1 to len(mystr)

if mid(mystr,i,1)="`" then

if pos=0 then

ID=left(mystr,i-1)

exit for

end if

end if

next

end function

 

function ID(mystr)

pos=0

for i=1 to len(mystr)

if mid(mystr,i,1)="`" then

if pos=0 then

ID=left(mystr,i-1)

exit for

end if

end if

next

end function

function BookName(mystr)

pos=0

for i=1 to len(mystr)

if mid(mystr,i,1)="`" then

if pos=0 then

pos=pos+1

else

BookName=mid(mystr,len(id(name))+2,i-2-len(id(name)))

exit for

end if

end if

next

end function

function Price(mystr)

for i= len(mystr) to 1 step -1

if mid(mystr,i,1)="`" then

if pos=0 then

Price=right(mystr,len(mystr)-i)

exit for

end if

end if

next

end function

select case request.querystring("Name")

case "view"

response.write "浏览"

if session("num")="" then

response.write "目前购货蓝中没有选中的书目!"

else

num=clng(session("num"))

response.write "

书号书名单价
数量小计

session("sum")=0

for i=0 to num

session("sum")=session("sum")+session("sum_" & cstr(i))

response.write "

" & session("ID_" & cstr(i)) & "" &
session("BookName_" & cstr(i)) & "" & session("price_" & cstr
(i)) & "value=" & session("num_" & cstr(i)) & ">" & session("sum_" & cstr
(i)) & ""

next

response.write "

"

Response.Write "购货总金额:" & session("sum")

end if

case ""

response.write "本页内修改"

num=clng(session("num"))

for i=0 to num

session("num_" & cstr(i))=(request.form("txtNum" & cstr(i)))

session("sum_" & cstr(i))=session("num_" & cstr(i))*session("price_"
& cstr(i))

next

response.write "

书号书名单价
数量小计

session("sum")=0

for i=0 to num

session("sum")=session("sum")+session("sum_" & cstr(i))

response.write "

" & session("ID_" & cstr(i)) & "" &
session("BookName_" & cstr(i)) & "" & session("price_" & cstr
(i)) & "value=" & session("num_" & cstr(i)) & ">" & session("sum_" & cstr
(i)) & ""

next

response.write "

"

Response.Write "购货总金额:" & session("sum")

case else

response.write "增加"

if session("num")="" then

session("num")=0

else

session("num")=clng(session("num"))+1

end if

num=clng(session("num"))

name=(request.querystring("Name"))

session("ID_" & cstr(num))=id(name)

session("Bookname_" & cstr(num))=bookname(name)

session("price_" & cstr(num))=price(name)

session("sum_" & cstr(num))=price(name)

session("num_" & cstr(num))=1

response.write "

书号书名单价
数量小计

session("sum")=0

for i=0 to num

session("sum")=session("sum")+session("sum_" & cstr(i))

response.write "

" & session("ID_" & cstr(i)) & "" &
session("BookName_" & cstr(i)) & "" & session("price_" & cstr
(i)) & "value=" & session("num_" & cstr(i)) & ">" & session("sum_" & cstr
(i)) & ""

next

response.write "

"

Response.Write "购货总金额:" & session("sum")

end select

%>

>">

其运行界面如下:

在下面有总金额的显示,并且购买的数量可以更改。

In.asp

if Request.Form("txtUser")="" or Request.Form("txtPWD")="" then

Response.Write "用户名或密码为空,请重新输入,如果您没有注册,请选择注
册!"

else

set rs=server.CreateObject("ADODB.recordset")

rs.Open "select * from info where ID='" & Request.Form("txtUser")
& "'" ,"DSN=sqlsales;UID=sa",3,3

if rs.RecordCount =0 then

Response.Write "此会员号不存在!"

else

if trim(rs.Fields("PWD"))<>trim(Request.Form("txtPWD")) then

Response.Write "密码不正确!"

Response.Write rs.Fields("ID") & "
"

Response.Write rs.Fields("PWD") & "
"

Response.Write Request.Form("txtPWD")

else

session("UserID")=rs.Fields("ID")

session("UserName")=rs.Fields("Name")

Response.Redirect "index.asp"

'Response.Write rs.Fields("ID") & "
"

'Response.Write rs.Fields("PWD") & "
"

'Response.Write "欢迎光临!"

end if

end if

rs.Close

end if

%>

此段程序用于检测登录的合法性。

Registry.asp

if Request.Form("txtID")="" and Request.Form("txtPWD")="" and
Request.Form("txtPWD1")="" and _

Request.Form("txtname")="" and Request.Form("txtSFZ")="" and
Request.Form("txtemail")="" and _

Request.Form("txtAdd")="" and Request.Form("txtPost")="" and
Request.Form("txtPhone")="" then

Response.Write "请认真填写以下内容:"

else

if Request.Form("txtID")="" then

Response.Write "用户名为空,请重新填写!" & "
"

elseif Request.Form("txtPWD")="" then

Response.Write "密码为空,请重新填写!" & "
"

elseif Request.Form("txtPWD1")="" then

Response.Write "密码校验为空,请重新填写!" & "
"

elseif Request.Form("txtName")="" then

Response.Write "姓名为空,请重新填写!" & "
"

elseif Request.Form("txtAdd")="" then

Response.Write "联系地址为空,请重新填写!" & "
"

elseif Request.Form("txtPost")="" then

Response.Write "邮政编码为空,请重新填写!" & "
"

elseif trim(Request.Form("txtPWD"))<>trim(Request.Form("txtPWD1"))
then

Response.Write "密码位与校验位不一致,请重新输入!" & "
"

else

set rs=server.CreateObject("ADODB.Recordset")

rs.Open "select * from info where ID='" & trim(Request.Form("txtID"))
& "'" ,"DSN=sqlsales;UID=sa;",3,3

'rs.Open "select * from info where ID=" & chr(34) & "yuaiwu" & chr
(34) ,"DSN=sqlsales;UID=sa;",3,3

if rs.RecordCount <>0 then

Response.Write "此用户已经登记,请选择别的用户名:"

else

dim fld(7)

dim value(7)

fld(0)="ID"

fld(1)="name"

fld(2)="PWD"

fld(3)="Email"

fld(4)="address"

fld(5)="phone"

fld(6)="post"

fld(7)="sfz"

value(0)=Request.Form("txtID")

value(1)=Request.Form("txtname")

value(2)=Request.Form("txtpwd")

value(3)=Request.Form("txtEmail")

value(4)=Request.Form("txtadd")

value(5)=Request.Form("txtphone")

value(6)=Request.Form("txtPost")

value(7)=Request.Form("txtSFZ")

rs.AddNew fld,value

rs.Update

end if

rs.Close

end if

end if

%>

会 员 申 请

用户名

style="HEIGHT: 22px; WIDTH: 275px">**

密码

type=password

style="HEIGHT: 22px; WIDTH: 274px">**

确认

type=password

style="HEIGHT: 22px; WIDTH: 275px">**

姓名

style="HEIGHT: 22px; WIDTH: 274px">**

身份证号码

style="HEIGHT: 22px; WIDTH: 274px">

Email

style="HEIGHT: 22px; WIDTH: 273px">

联系地址:

style="HEIGHT: 22px; WIDTH: 272px">**

邮政编码:

name=txtPost

style="HEIGHT: 22px; WIDTH: 270px">**

联系电话:

style="HEIGHT: 22px; WIDTH: 270px">

认>

请注意:

带有 ** 号的栏目是必须填写的,其他的栏目可以不填

以上信息应如实填写,以便我们能与您取得及时的联系

这个登录界面和大多数网上的登录新用户类似。

小结:
 

  几个程序都做了一个简要地说明,当然,程序做地非常简单,还有很多功能没有或有待完美,但它却示范了一个简单的范例,在此仅供大家参考。如果大家有兴趣,可以把上面的程序试一下,祝大家成功!


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-124746/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10294527/viewspace-124746/

基于可靠性评估序贯蒙特卡洛模拟法的配电网可靠性评估研究(Matlab代码实现)内容概要:本文围绕“基于可靠性评估序贯蒙特卡洛模拟法的配电网可靠性评估研究”,介绍了利用Matlab代码实现配电网可靠性的仿真分析方法。重点采用序贯蒙特卡洛模拟法对配电网进行长时间段的状态抽样与统计,通过模拟系统元件的故障与修复过程,评估配电网的关键可靠性指标,如系统停电频率、停电持续时间、负荷点可靠性等。该方法能够有效处理复杂网络结构与设备时序特性,提升评估精度,适用于含分布式电源、电动汽车等新型负荷接入的现代配电网。文中提供了完整的Matlab实现代码与案例分析,便于复现和扩展应用。; 适合人群:具备电力系统基础知识和Matlab编程能力的高校研究生、科研人员及电力行业技术人员,尤其适合从事配电网规划、运行与可靠性分析相关工作的人员; 使用场景及目标:①掌握序贯蒙特卡洛模拟法在电力系统可靠性评估中的基本原理与实现流程;②学习如何通过Matlab构建配电网仿真模型并进行状态移模拟;③应用于含新能源接入的复杂配电网可靠性定量评估与优化设计; 阅读建议:建议结合文中提供的Matlab代码逐段调试运行,理解状态抽样、故障判断、修复逻辑及指标统计的具体实现方式,同时可扩展至不同网络结构或加入更多不确定性因素进行深化研究。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值