在很多情況下都需要防止相同的表單被多次提交,很多人的實(shí)現(xiàn)方法都比較復(fù)雜(代碼數(shù)量超過幾十行??!)下面提供一種只需使用幾行代碼的方法,輕松地實(shí)現(xiàn)了防止用戶刷新多次提交表單和使用后退鈕重復(fù)多次提交表單。
表單文件formtest.asp
< %Randomize '初始代隨機(jī)數(shù)種子
num1=rnd() '產(chǎn)生隨機(jī)數(shù)num1
num1=int(26*num1)+65 '修改num1的范圍以使其是A-Z范圍的Ascii碼,以防表單名出錯(cuò)
session("antry")="test"&chr(num1) '產(chǎn)生隨機(jī)字符串
% >
< form name="test" action="testact.asp" method="post" >
你的名字:< input type='text' name='' size=30 > '注意本行中使用了隨機(jī)表單項(xiàng)名
< input type='submit' value='提交' >
< /form >
表單處理程序testact.asp
< %
teststr=request.form(session("antry"))
if teststr="" then
response.write "沒有填寫姓名或重復(fù)提交"
'由于用戶沒有填寫名字,或表單被重復(fù)提交(標(biāo)志為session("antry")為空)引起
else
response.write teststr
session("antry")="" '提交成功,清空session("antry"),以防重復(fù)提交??!
end if
% >
在這里,你只需隨機(jī)化一個(gè)必填項(xiàng)目的表單項(xiàng)名即可,不必隨機(jī)化所有的表單項(xiàng)目。
歡迎訪問我的個(gè)人主頁http://swuse.yeah.net
標(biāo)簽:






