推薦:如何解決left截取字符標題長度不一我們經常看到直接用left截字符串時,因為標題中會出現漢字和英文共存,所以造成兩條新聞標題長度不一,為了解決這個問題我們可以使用下面這個函數。 % '************************************************** '函數名:gotTopic '作用:截字符串,漢字一個算
用戶提交表單時經常會遇到一些意外情況,比如多次刷新頁面、按了後退鍵等,如果不採取控制措施就會引起表單重複提交的問題。本文介紹的這種防止方法,主要由四個子程序組成,在較為簡單的應用場合,你只要將這些代碼放在包含文件中直接引用即可;對於那些較為複雜的環境,我們在文章的最後給出一些改進建議。
一、基本工作過程
下面我們依次討論這四個子程序。
(一)初始化
這裡我們要在Session對像中保存兩個變量,其中:
⑴每一個表單對應一個稱為FID的唯一標識,為使該值唯一要用到一個計數器。
⑵每當一個表單成功提交,必須在一個Dictionary對像中存儲它的FID。
我們用一個專用的過程來初始化上述數據。雖然以後各個子程序都要調用它,但實際上每一個會話期間它只執行一次:
SubInitializeFID()
IfNotIsObject(Session(FIDList))Then
SetSession(FIDList)=Server.CreateObject(Scripting.Dictionary)
Session(FID)=0
EndIf
EndSub
(二)生成表單的唯一標識符
下面這個函數GenerateFID()用於生成表單的唯一標誌。該函數首先將FID值加1,然後返回它:
FunctionGenerateFID()
InitializeFID
Session(FID)=Session(FID)+1
GenerateFID=Session(FID)
EndFunction
(三)登記已提交表單
當表單成功地提交時,在Dictionary對像中登記它的唯一標識:
SubRegisterFID()
DimstrFID
InitializeFID
strFID=Request(FID)
Session(FIDlist).AddstrFID,now()
EndSub
(四)檢查表單是否重複提交
在正式處理用戶提交的表單之前,應該在Dictionary對像中檢查它的FID是否已經登記。下面的CheckFID()函數用來完成這個工作,如已經登記,它返回FALSE,否則返回TRUE:
FunctionCheckFID()
DimstrFID
InitializeFID
strFID=Request(FID)
CheckFID=notSession(FIDlist).Exists(strFID)
EndFunction
分享:解讀用asp編寫類似搜索引擎功能的代碼首先建一個access 數據庫,庫中有一個URLINDEX表,其中URL和Keywords字段分別添加了索引,如下: URL 文本(索引:有(無重複)) Title文本Description文本Summary文本Keywords文本(索引:有(無重複)) 程序文件doquery.asp,代碼: HTMLHEADTITLE簡單搜索引擎
共2頁上一頁12下一頁