分享
 
 
 

ASP应用中的应用函数

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

1,经常写些系统,那么一般都是从登录程序开始,每接一个系统就写一次登录,好麻烦。

干脆直接做个登录验证函数吧,对我来说,大都情况可以胜任了:)

<%

Function chk_regist(requestname,requestpwd,tablename,namefield,pwdfield,reurl)

dim cn_name,cn_pwd

cn_name=trim(request.form(""&requestname&""))

cn_pwd=trim(request.form(""&requestpwd&""))

if cn_name="" or cn_pwd="" then

response.Write("<script language=javascript>alert(""请将帐号密码填写完整,谢谢合作。"");history.go(-1)</script>")

end if

Set rs = Server.CreateObject ("ADODB.Recordset")

sql = "Select * from "&tablename&" where "&namefield&"='"&cn_name&"'"

rs.open sql,conn,1,1

if rs.eof then

response.Write("<script language=javascript>alert(""没有该会员ID,请确认有没有被申请。"");history.go(-1)</script>")

else

if rs(""&pwdfield&"")=cn_pwd then

session("cn_name")=rs(""&namefield&"")

response.Redirect(reurl)

else

response.Write("<script language=javascript>alert(""提醒,您的帐号和密码是不吻合。注意数字和大小写。"");history.go(-1)</script>")

end if

end if

rs.close

Set rs = Nothing

End Function

%>

参数说明:

chk_regist(requestname,requestpwd,tablename,namefield,pwdfield,reurl)

requestname 为接受HTML页中输入名称的INPUT控件名

requestpwd 为接受HTML页中输入密码的INPUT控件名

tablename 为数据库中保存注册信息的表名

namefield 为该信息表中存放用户名称的字段名

pwdfield 为该信息表中存放用户密码的字段名

reurl 为登录正确后跳转的页

引用示例如下:

<%

call chk_regist("b_name","b_pwd","cn_admin","cn_name","cn_pwd","admin.asp")

%>

调试地址:[url=http://www.cnbruce.com/test/function/regist.asp]http://www.cnbruce.com/test/function/regist.asp

2,经常有可能对某个事物进行当前状态的判断,一般即做一字段(数值类型,默认值为0)

通过对该字段值的修改达到状态切换的效果。那么,我又做了个函数,让自己轻松轻松。

<%

Function pvouch(tablename,fildname,autoidname,indexid)

dim fildvalue

Set rs = Server.CreateObject ("ADODB.Recordset")

sql = "Select * from "&tablename&" where "&autoidname&"="&indexid

rs.Open sql,conn,2,3

fildvalue=rs(""&fildname&"")

if fildvalue=0 then

fildvalue=1

else

fildvalue=0

end if

rs(""&fildname&"")=fildvalue

rs.update

rs.close

Set rs = Nothing

End Function

%>

参数说明:

pvouch(tablename,fildname,autoidname,indexid)

tablename 该事物所在数据库中的表名

fildname 该事物用以表明状态的字段名(字段类型是数值型)

autoidname 在该表中的自动编号名

indexid 用以修改状态的对应自动编号的值

引用示例如下:

<%

dowhat=request.QueryString("dowhat")

p_id=cint(request.QueryString("p_id"))

if dowhat="tj" and p_id<>"" then

call pvouch("cn_products","p_vouch","p_id",p_id)

end if

%>

<%if rs("p_vouch")=0 then%>

<a href=showpro.asp?dowhat=tj&p_id=<%=rs("p_id")%>>推荐</a>

<%else%>

<a href=showpro.asp?dowhat=tj&p_id=<%=rs("p_id")%>>取消推荐</a>

<%end if%>

调试地址:[url=http://www.cnbruce.com/test/function/showpro.asp]http://www.cnbruce.com/test/function/showpro.asp

3,为很多中小企业写站点,一般产品展示是个大项目,那么做成的页面也就不同。

要不就是横排来几个,要不就是竖排来几个,甚至全站要翻来覆去的搞个好几次,麻烦也很累。

索性写个函数能缓解一下,于是就成了下面

<%

function showpros(tablename,topnum,fildname,loopnum,typenum)

Set rs = Server.CreateObject ("ADODB.Recordset")

sql = "Select top "&topnum&" * from "&tablename

rs.Open sql,conn,1,1

if rs.eof and rs.bof then

response.Write("暂时无该记录")

else

response.Write("<table width='100%'>")

for i=1 to rs.recordcount

if (i mod loopnum=1) then

response.write"<tr>"

end if

select case typenum

case "1"

response.Write("<td><table width='100%'><tr><td bgcolor=red width='50%'>")

response.Write(rs(""&fildname&""))

response.Write("</td><td bgcolor=black>")

response.Write("方式1之"&i&"记录")'此处的“方式1”可以替换显示为其余字段的值

response.Write("</td></tr>")'如果字段比较多,继续添加新个表格行来显示

response.Write("</table></td>")

case "2"

response.Write("<td><table width='100%'><tr><td bgcolor=red>")

response.Write(rs(""&fildname&""))

response.Write("</td></tr>")

response.Write("<tr><td bgcolor=black>")

response.Write("方式2之"&i&"记录")

response.Write("</td></tr>")

response.Write("</table></td>")

end select

if (i mod loopnum=0) then

response.write"</tr>"

end if

rs.movenext

next

response.Write("</table>")

end if

rs.close

Set rs = Nothing

end function

%>

参数说明:showpros(tablename,topnum,fildname,loopnum,typenum)

whichpro为选择何类型的产品种类

topnum表示提取多少条记录

fildname表示调试显示的字段,具体应用的时候可以省去该参数,在函数内部直接使用

loopnum表示显示的循环每行的记录条数

typenum表示循环显示的方法:目前分了两类,横向并列、纵向并列显示同一数据记录行的不同记录

引用示例如下:

<%

if request.form("submit")<>"" then

topnum=request.form("topnum")

loopnum=request.form("loopnum")

typenum=request.form("typenum")

else

topnum=8

loopnum=2

typenum=1

end if

%>

<%call showpros("cn_products",topnum,"p_name",loopnum,typenum)%>

<form action=index.asp method=post>

显示的记录总数:<input name=topnum value=<%=topnum%>>

显示的行循环数:<input name=loopnum value=<%=loopnum%>>

显示的方式类型:<select name=typenum>

<option value="1">方式1</option>

<option value="2">方式2</option>

</select>

<input type=submit name=submit value=Sure>

</form>

调试地址:[url=http://www.cnbruce.com/test/function/index.asp]http://www.cnbruce.com/test/function/index.asp

最后,你可以选择文件下载查看: [url=http://www.cnbruce.com/test/function/function.rar]http://www.cnbruce.com/test/function/function.rar

[url=http://www.cnbruce.com/blog/showlog.asp?cat_id=26&log_id=593#top][/url]

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有