问一个关于ASP的“过程”的简单问题。
看到一个留言的帖子,其中多处(注意:指的是"多处")出现以下代码:
if request("art_id")="" then
Response.Write("<script language=javascript>alert('请指定操作的对象!');history.back(1);</script>")
response.end
else
if not isinteger(request("art_id")) then
Response.Write("<script language=javascript>alert('非法的文章ID参数!');history.back(1);</script>")
response.end
end if
end if
if request("cat_id")="" then
Response.Write("<script language=javascript>alert('请指定操作的对象!');history.back(1);</script>")
response.end
else
if not isinteger(request("cat_id")) then
Response.Write("<script language=javascript>alert('非法的文章ID参数!');history.back(1);</script>")
response.end
end if
end if
这段代码无非是做一些常规的安全检查。
这样我是否可以可以将这段代码放在Sub abc …… End sub "过程"里面,然后再在需要的地方调用呢?
问题点数:10、回复次数:5Top
1 楼xiaoqiang08(我是小强)回复于 2006-11-03 20:42:16 得分 4
可以,代码如下:
'函数如下:
function a(b)
if b="" then
a=1
else
a=0
end if
response.end
end function
调用函数如下:
name=request.form("name")
pass=request.form("pass")
if a(name) or a(pass)=0 then
Response.Write("<script language=javascript>alert('没有参数');history.back
end if
Top
2 楼xiaoqiang08(我是小强)回复于 2006-11-03 20:43:08 得分 0
上面少打了一个.
if a(name)=0 or a(pass)=0 then
Response.Write("<script language=javascript>alert('没有参数');history.back
end if
Top
3 楼chaircat(chaircat)回复于 2006-11-03 21:35:18 得分 3
Sub Check()
if request("art_id")="" then
Response.Write("<script language=javascript>alert('请指定操作的对象!');history.back(1);</script>")
response.end
else
if not isinteger(request("art_id")) then
Response.Write("<script language=javascript>alert('非法的文章ID参数!');history.back(1);</script>")
response.end
end if
end if
if request("cat_id")="" then
Response.Write("<script language=javascript>alert('请指定操作的对象!');history.back(1);</script>")
response.end
else
if not isinteger(request("cat_id")) then
Response.Write("<script language=javascript>alert('非法的文章ID参数!');history.back(1);</script>")
response.end
end if
end if
End Sub
然后每个判断的地方都调用就OK了...Top
4 楼FEB15(张郎)回复于 2006-11-03 21:46:38 得分 3
完全可以
把alert的内容用变量代替即可,用Function不要用sub,我都不知道多少年没用过sub了Top
5 楼emituofo(阿弥陀佛,善哉、善哉!)回复于 2006-11-03 23:42:31 得分 0
谢谢楼上的各位,由于系统限制或者其他原因,反正不知道怎么回事,我只能给10分,大家就均分吧。呵呵!
多谢了!Top




