ASP如何防止表單重復(fù)提交(2)_ASP教程
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!
推薦:如何解決left截取字符標(biāo)題長(zhǎng)度不一我們經(jīng)常看到直接用left截字符串時(shí),因?yàn)闃?biāo)題中會(huì)出現(xiàn)漢字和英文共存,所以造成兩條新聞標(biāo)題長(zhǎng)度不一,為了解決這個(gè)問(wèn)題我們可以使用下面這個(gè)函數(shù)。 % ’************************************************** ’函數(shù)名:gotTopic ’作用:截字符串,漢字一個(gè)算
二、如何使用
有兩個(gè)地方要用到上述函數(shù),即表單生成時(shí)與結(jié)果處理時(shí)。假設(shè)上述四個(gè)子程序已經(jīng)放入包含文件Forms.inc中,下面的代碼根據(jù)FID值來(lái)決定生成表單還是處理表單結(jié)果,它所描述的處理過(guò)程適合于大多數(shù)ASP應(yīng)用:
<!--#include file="forms.inc"-->
<HTML>
<HEAD>
<TITLE>表單提交測(cè)試</TITLE>
</HEAD
<BODY>
<%
If Request("FID") = "" Then
GenerateForm
Else
ProcessForm
End If
%>
</BODY>
</HTML>
GenerateForm負(fù)責(zé)生成表單,表單中應(yīng)該含有一個(gè)隱藏的FID,如:
<%
Sub GenerateForm()
%>
<form action="<%=Request.ServerVariables("PATH_INFO")%>" method=GET>
<input type=hidden name=FID value="<%=GenerateFID()%>">
<input type=text name="param1" value="">
<input type=submit value="OK">
</form>
<%
End Sub
%>
ProcessForm負(fù)責(zé)處理通過(guò)表單提交的內(nèi)容,但在處理之前應(yīng)該先調(diào)用CheckFID()檢查當(dāng)前表單是否已經(jīng)提交,代碼類如:
<%
Sub ProcessForm()
If CheckFID() Then
Response.Write "你輸入的內(nèi)容是" & Request.QueryString("param1")
RegisterFID
Else
Response.Write "此表單只能提交一次!"
End If
End Sub
%>
三、限制與改進(jìn)措施
上面的asp教程我們介紹了在當(dāng)前會(huì)話期間限制同一表單被多次提交的一種方法。在實(shí)際應(yīng)用中可能需要從多方面加以改進(jìn),例如:
⑴ 在登記表單ID之前檢查用戶輸入數(shù)據(jù)的合法性,使得數(shù)據(jù)不合法時(shí)用戶可以按“后退”按鈕返回,在修正后再次提交同一表單。
⑵ 這種對(duì)表單提交的限制最多只能在當(dāng)前會(huì)話期間有效。如果要求這種限制能夠跨越多個(gè)會(huì)話,那么就要用到Cookeis或數(shù)據(jù)庫(kù)來(lái)保存相關(guān)數(shù)據(jù)了。
⑶ 這種方法是不安全的。它僅用于防范誤操作,不能防止熟練用戶有意地多次提交同一表單。
分享:解讀用asp編寫(xiě)類似搜索引擎功能的代碼首先建一個(gè) access 數(shù)據(jù)庫(kù) ,庫(kù)中有一個(gè)URLINDEX表,其中URL和Keywords字段分別添加了索引,如下: URL 文本(索引:有(無(wú)重復(fù))) Title文本 Description文本 Summary文本 Keywords文本(索引:有(無(wú)重復(fù))) 程序文件doquery.asp,代碼: HTMLHEADTITLE簡(jiǎn)單搜索引擎
相關(guān)ASP教程:
- asp FSO 讀寫(xiě)文件本文件實(shí)現(xiàn)代碼
- asp中isNull、isEmpty和空字符串的區(qū)別
- asp獲取用戶真實(shí)IP地址的方法
- asp連接sqlserver數(shù)據(jù)庫(kù)實(shí)現(xiàn)代碼
- asp中正則表達(dá)式過(guò)濾html代碼函數(shù)
- asp中g(shù)et post提交表單區(qū)別
- 網(wǎng)頁(yè)模板:ASP內(nèi)建對(duì)象Request
- xmlhttp的open方法使用詳解
- ASP的常用的自定義函數(shù)大全
- asp中用for循環(huán)的一個(gè)小技巧
- eWebEditor v3.8 列目錄
- ASP無(wú)組件分頁(yè)實(shí)現(xiàn)思路及代碼
ASP教程Rss訂閱編程教程搜索
ASP教程推薦
- 用ASP編程實(shí)現(xiàn)網(wǎng)絡(luò)內(nèi)容快速查找
- ASP程序?qū)崿F(xiàn)保存參數(shù)值的分頁(yè)功能
- ASP使用FCKEditor的設(shè)置技巧
- 解析ASP與存儲(chǔ)過(guò)程
- 動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)ASP日期和時(shí)間函數(shù)示例
- ASP返回某字符串最后出現(xiàn)的位置
- 怎樣隱藏圖片的真實(shí)地址
- ASP技術(shù)與PHP,CGI,JSP等技術(shù)的比較
- ASP把長(zhǎng)的數(shù)字用逗號(hào)隔開(kāi)顯示
- 學(xué)ASp動(dòng)態(tài)網(wǎng)頁(yè)必備:常用的38個(gè)函數(shù)
- 相關(guān)鏈接:
- 教程說(shuō)明:
ASP教程-ASP如何防止表單重復(fù)提交(2)
。