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