ASP一些常用代碼的分享及使用方法
下面介紹的是關于ASP一些常用代碼的剪輯分享,對于ASP初學者還是有很大用處的,現在讓我們一起來學習一下吧。
計算字符的大小
len()是一個字算一個,一個字母也一個
lenb()是字母和字都是兩個
function getlen(str)
n=0
for i=1 to len(str)
charasc=asc(mid(str,i,1))
if ((charasc<127) and (charasc>=32)) then n=n+1 else n=n+2
next
getlen=n
end function
1.如何用Asp判斷你的網站的虛擬物理路徑
答:使用Mappath方法
< p align="center" >< font size="4" face="Arial" >< b >
The Physical path to this virtual website is:
< /b >< /font >
< font color="#FF0000" size="6" face="Arial" >
< %= Server.MapPath("\")% >
< /font >< /p >
2.我如何知道使用者所用的瀏覽器?
答:使用the Request object方法
strBrowser=Request.ServerVariables("HTTP_USER_AGENT")
If Instr(strBrowser,"MSIE") < > 0 Then
Response.redirect("ForMSIEOnly.htm")
Else
Response.redirect("ForAll.htm")
End If
3.如何計算每天的平均反復訪問人數
答:解決方法
< % startdate=DateDiff("d",Now,"01/01/1990")
if strdate< 0 then startdate=startdate*-1
avgvpd=Int((usercnt)/startdate) % >
顯示結果
< % response.write(avgvpd) % >
that is it.this page have been viewed since November 10,1998
4.如何顯示隨機圖象
< % dim p,ppic,dpic
ppic=12
randomize
p=Int((ppic*rnd)+1)
dpic="graphix/randompics/"&p&".gif"
% >
顯示
< img src="< %=dpic% >" >
5.如何回到先前的頁面
答:< a href="< %=request.serverVariables("Http_REFERER")% >"
>preivous page< /a >
或用圖片如:< img src="arrowback.gif" %=request.
serverVariables("HTTP_REFERER")% >" >
6.如何確定對方的IP地址
答:< %=Request.serverVariables("REMOTE_ADDR)% >
7.如何鏈結到一副圖片上
答:< % @Languages=vbscript % >
< % response.expires=0
strimagename="graphix/errors/erroriamge.gif"
response.redirect(strimagename)
% >
8.強迫輸入密碼對話框
答:把這句話放載頁面的開頭
< % response.status="401 not Authorized"
response.end
% >
9.如何傳遞變量從一頁到另一頁
答:用 HIDDEN 類型來傳遞變量
< % form method="post" action="mynextpage.asp" >
< % for each item in request.form % >
< input namee="< %=item% >" type="HIDDEN"
value="< %=server.HTMLEncode(Request.form(item)) % >" >
< % next % >
< /form >
10.為何我在 asp 程序內使用 msgbox,程序出錯說沒有權限
答:由于 asp 是服務器運行的,如果可以在服務器顯示一個對話框,那么你
只好等有人按了確定之后,你的程序才能繼續(xù)執(zhí)行,而一般服務器不會有人守著,
所以微軟不得不禁止這個函數,并胡亂告訴你 (:) 呵呵) 沒有權限。但是ASP和客
戶端腳本結合倒可以顯示一個對話框,as follows:
< % yourVar="測試對話框"% >
< % script language='java script' >
alert("< %=yourvar% >")
< /script >
11.有沒有辦法保護自己的源代碼,不給人看到
答:可以去下載一個微軟的Windows Script Encoder,它可以對asp的腳本和
客戶端java script/vbscript腳本進行加密。。。不過客戶端加密后,只有ie5才能
執(zhí)行,服務器端腳本加密后,只有服務器上安裝有script engine 5(裝一個ie5就
有了)才能執(zhí)行。
12.怎樣才能將 query string 從一個 asp 文件傳送到另一個?
答:前者文件加入下句: Response.Redirect("second.asp?" & Request.
ServerVariables("QUERY_STRING"))
13.global.asa文件總是不起作用?
答:只有web目錄設置為web application, global.asa才有效,并且一個
web application的根目錄下 global.asa才有效。IIS4可以使用Internet Service
Manager設置application setting 怎樣才能使得htm文件如同asp文件一樣可以執(zhí)
行腳本代碼?
14.怎樣才能使得htm文件如同asp文件一樣可以執(zhí)行腳本代碼?
答:Internet Sevices Manager - > 選擇default web site - >右鼠鍵- >菜
單屬性-〉主目錄- > 應用程序設置(Application Setting)- > 點擊按鈕 "配置
"- > app mapping - >點擊按鈕"Add" - > executable browse選擇
\WINNT\SYSTEM32\INETSRV\ASP.DLL EXTENSION 輸入 htm method exclusions 輸
入PUT.DELETE 全部確定即可。但是值得注意的是這樣對htm也要由asp.dll處理,
效率將降低。
15.如何注冊組件
答:有兩種方法。
第一種方法:手工注冊 DLL 這種方法從IIs 3.0一直使用到IIs 4.0和其它的
Web Server。它需要你在命令行方式下來執(zhí)行,進入到包含有DLL的目錄,并輸入
:regsvr32 component_name.dll 例如 c:\temp\regsvr32 AspEmail.dll 它會把
dll的特定信息注冊入服務器中的注冊表中。然后這個組件就可以在服務器上使用
了,但是這個方法有一個缺陷。當使用這種方法注冊完畢組件后,該組件必須要相
應的設置NT的匿名帳號有權限執(zhí)行這個dll。特別是一些組件需要讀取注冊表,所
以,這個注冊組件的方法僅僅是使用在服務器上沒有MTS的情況下,要取消注冊這
個dll,使用:regsvr32 /u aspobject.dll example c:\temp\regsvr32 /u
aneiodbc.dll
第二種方法:使用MTS(Microsoft Transaction Server) MTS是IIS 4新增特色,但
是它提供了巨大的改進。MTS允許你指定只有有特權的用戶才能夠訪問組件,大大
提高了網站服務器上的安全性設置。在MTS上注冊組件的步驟如下:
1) 打開IIS管理控制臺。
2) 展開transaction server,右鍵單擊"pkgs installed"然后選擇"new
package"。
3) 單擊"create an empty package"。
4) 給該包命名。
5) 指定administrator帳號或則使用"interactive"(如果服務器經常是使用
administrator 登陸的話)。
6) 現在使用右鍵單擊你剛建立的那個包下面展開后的"components"。選擇
"new then component"。
7) 選擇 "install new component" [b]。
8) 找到你的.dll文件然后選擇next到完成。
要刪除這個對象,只要選擇它的圖標,然后選擇delete。
附注:特別要注意第二種方法,它是用來調試自己編寫組件的最好方法,而不
必每次都需要重新啟動機器了。