<
%@ Language
=
VBScript CODEPAGE
=
950
%
>
< % Option Explicit % >
< %
' ============================================
' 常用全局變量
' ============================================
' 數據庫對像
Dim oConn, oRs, sSql
' ============================================
' 初始數據處理
' ============================================
' 執行每天隻需處理一次的事件
' Call BrandNewDay()
' 初始化數據庫連接
' Call DBConnBegin()
' ********************************************
' 以下為初始函數
' ********************************************
' ============================================
' 執行每天隻需處理一次的事件
' ============================================
Sub BrandNewDay()
Dim sDate, y, m, d, w
Dim sDateChinese
sDate = Date ()
If Application( " date_today " ) = sDate Then Exit Sub
y = CStr ( Year (sDate))
m = CStr ( Month (sDate))
If Len (m) = 1 Then m = " 0 " & m
d = CStr ( Day (sDate))
If Len (d) = 1 Then d = " 0 " & d
w = WeekdayName ( Weekday (sDate))
sDateChinese = y & " 年 " & m & " 月 " & d & " 日 " & w
Application.Lock
Application( " date_today " ) = sDate
Application( " date_chinese " ) = sDateChinese ' 今天的中文樣式
Application.Unlock
End Sub
' ********************************************
' 以下為數據庫相關函數
' ********************************************
' ============================================
' 初始化數據庫連接對像
' 使用原則:最遲調用,最早釋放
' ============================================
Sub DBConnBegin()
' 如果數據庫對像已打開,不要再打開
If IsObject(oConn) = True Then Exit Sub
' 你可以不需要打開數據庫連接對像而直接打開記錄集對像,但如果你需要打開多個記錄集對像的話,效率是很低的。
' 如果你不創建一個數據庫連接對像,ADO會在每個記錄集打開時自動創建一個新的數據庫連接對像,就算你用的是相同的SQL語句。
Set oConn = Server.CreateObject( " ADODB.Connection " )
On Error Resume Next
' Access數據庫
oConn.Open " Provider=Microsoft.Jet.OLEDB.4.0; Data Source= " & Server.MapPath( " db/ewebeditor.mdb " )
' SQL Server 2000數據庫
' oConn.Open "Provider=SQLOLEDB.1;Server=localhost;UID=ewebeditor;PWD=123456;Database=ewebeditor"
If Err.Number > 0 Then
' 顯示錯誤信息,並且發送郵件通知管理員
' Call DBConnError(Err)
' 完全地退出正在運行的腳本
Response.End
End If
' 創建一個記錄集
Set oRs = Server.CreateObject( " ADODB.Recordset " )
End Sub
' ============================================
' 釋放數據庫連接對像
' ============================================
Sub DBConnEnd()
On Error Resume Next
oRs.Close
Set oRs = Nothing
oConn.Close
Set oConn = Nothing
End Sub
' ********************************************
' 以下為常用函數
' ********************************************
' ============================================
' 錯誤返回處理
' ============================================
Sub Go_Error( str )
Call DBConnEnd()
Response.Write " <script language=javascript>alert(' " & str & " \n\n系統將自動返回前一頁面
');history.back();</script>
"
Response.End
End Sub
' ============================================
' 格式化時間(顯示)
' 參數:n_Flag
' 1:"yyyy-mm-dd hh:mm:ss"
' 2:"yyyy-mm-dd"
' 3:"hh:mm:ss"
' 4:"yyyy年mm月dd日"
' 5:"yyyymmdd"
' ============================================
Function Format_Time(s_Time, n_Flag)
Dim y, m, d, h, mi, s
Format_Time = ""
If IsDate (s_Time) = False Then Exit Function
y = cstr ( year (s_Time))
m = cstr ( month (s_Time))
If len (m) = 1 Then m = " 0 " & m
d = cstr ( day (s_Time))
If len (d) = 1 Then d = " 0 " & d
h = cstr ( hour (s_Time))
If len (h) = 1 Then h = " 0 " & h
mi = cstr ( minute (s_Time))
If len (mi) = 1 Then mi = " 0 " & mi
s = cstr ( second (s_Time))
If len (s) = 1 Then s = " 0 " & s
Select Case n_Flag
Case 1
' yyyy-mm-dd hh:mm:ss
Format_Time = y & " - " & m & " - " & d & " " & h & " : " & mi & " : " & s
Case 2
' yyyy-mm-dd
Format_Time = y & " - " & m & " - " & d
Case 3
' hh:mm:ss
Format_Time = h & " : " & mi & " : " & s
Case 4
' yyyy年mm月dd日
Format_Time = y & " 年 " & m & " 月 " & d & " 日 "
Case 5
' yyyymmdd
Format_Time = y & m & d
End Select
End Function
' ============================================
' 把字符串進行HTML解碼,替換server.htmlencode
' 去除Html格式,用於顯示輸出
' ============================================
Function outHTML( str )
Dim sTemp
sTemp = str
outHTML = ""
If IsNull(sTemp) = True Then
Exit Function
End If
sTemp = Replace (sTemp, " & " , " & " )
sTemp = Replace (sTemp, " < " , " < " )
sTemp = Replace (sTemp, " > " , " > " )
sTemp = Replace (sTemp, Chr ( 34 ), " " " )
sTemp = Replace (sTemp, Chr ( 10 ), " <br> " )
outHTML = sTemp
End Function
' ============================================
' 去除Html格式,用於從數據庫中取出值填入輸入框時
' 注意:value="?"這邊一定要用雙引號
' ============================================
Function inHTML( str )
Dim sTemp
sTemp = str
inHTML = ""
If IsNull(sTemp) = True Then
Exit Function
End If
sTemp = Replace (sTemp, " & " , " & " )
sTemp = Replace (sTemp, " < " , " < " )
sTemp = Replace (sTemp, " > " , " > " )
sTemp = Replace (sTemp, Chr ( 34 ), " " " )
inHTML = sTemp
End Function
' ============================================
' 檢測上頁是否從本站提交
' 返回:True,False
' ============================================
Function IsSelfRefer()
Dim sHttp_Referer, sServer_Name
sHttp_Referer = CStr (Request.ServerVariables( " HTTP_REFERER " ))
sServer_Name = CStr (Request.ServerVariables( " SERVER_NAME " ))
If Mid (sHttp_Referer, 8 , Len (sServer_Name)) = sServer_Name Then
IsSelfRefer = True
Else
IsSelfRefer = False
End If
End Function
' ============================================
' 得到安全字符串,在查詢中使用
' ============================================
Function Get_SafeStr( str )
Get_SafeStr = Replace ( Replace ( Replace ( Trim ( str ), " ' " , "" ), Chr ( 34 ), "" ), " ; " , "" )
End Function
' ============================================
' 取實際字符長度
' ============================================
Function Get_TrueLen( str )
Dim l, t, c, i
l = Len ( str )
t = l
For i = 1 To l
c = Asc ( Mid ( str , i, 1 ))
If c < 0 Then c = c + 65536
If c > 255 Then t = t + 1
Next
Get_TrueLen = t
End Function
' ============================================
' 判斷是否安全字符串,在注冊登錄等特殊字段中使用
' ============================================
Function IsSafeStr( str )
Dim s_BadStr, n, i
s_BadStr = " ' &<>?%,;:()`~!@#$^*{}[]|+-= " & Chr ( 34 ) & Chr ( 9 ) & Chr ( 32 )
n = Len (s_BadStr)
IsSafeStr = True
For i = 1 To n
If Instr ( str , Mid (s_BadStr, i, 1 )) > 0 Then
IsSafeStr = False
Exit Function
End If
Next
End Function
% >
< % Option Explicit % >
< %
' ============================================
' 常用全局變量
' ============================================
' 數據庫對像
Dim oConn, oRs, sSql
' ============================================
' 初始數據處理
' ============================================
' 執行每天隻需處理一次的事件
' Call BrandNewDay()
' 初始化數據庫連接
' Call DBConnBegin()
' ********************************************
' 以下為初始函數
' ********************************************
' ============================================
' 執行每天隻需處理一次的事件
' ============================================
Sub BrandNewDay()
Dim sDate, y, m, d, w
Dim sDateChinese
sDate = Date ()
If Application( " date_today " ) = sDate Then Exit Sub
y = CStr ( Year (sDate))
m = CStr ( Month (sDate))
If Len (m) = 1 Then m = " 0 " & m
d = CStr ( Day (sDate))
If Len (d) = 1 Then d = " 0 " & d
w = WeekdayName ( Weekday (sDate))
sDateChinese = y & " 年 " & m & " 月 " & d & " 日 " & w
Application.Lock
Application( " date_today " ) = sDate
Application( " date_chinese " ) = sDateChinese ' 今天的中文樣式
Application.Unlock
End Sub
' ********************************************
' 以下為數據庫相關函數
' ********************************************
' ============================================
' 初始化數據庫連接對像
' 使用原則:最遲調用,最早釋放
' ============================================
Sub DBConnBegin()
' 如果數據庫對像已打開,不要再打開
If IsObject(oConn) = True Then Exit Sub
' 你可以不需要打開數據庫連接對像而直接打開記錄集對像,但如果你需要打開多個記錄集對像的話,效率是很低的。
' 如果你不創建一個數據庫連接對像,ADO會在每個記錄集打開時自動創建一個新的數據庫連接對像,就算你用的是相同的SQL語句。
Set oConn = Server.CreateObject( " ADODB.Connection " )
On Error Resume Next
' Access數據庫
oConn.Open " Provider=Microsoft.Jet.OLEDB.4.0; Data Source= " & Server.MapPath( " db/ewebeditor.mdb " )
' SQL Server 2000數據庫
' oConn.Open "Provider=SQLOLEDB.1;Server=localhost;UID=ewebeditor;PWD=123456;Database=ewebeditor"
If Err.Number > 0 Then
' 顯示錯誤信息,並且發送郵件通知管理員
' Call DBConnError(Err)
' 完全地退出正在運行的腳本
Response.End
End If
' 創建一個記錄集
Set oRs = Server.CreateObject( " ADODB.Recordset " )
End Sub
' ============================================
' 釋放數據庫連接對像
' ============================================
Sub DBConnEnd()
On Error Resume Next
oRs.Close
Set oRs = Nothing
oConn.Close
Set oConn = Nothing
End Sub
' ********************************************
' 以下為常用函數
' ********************************************
' ============================================
' 錯誤返回處理
' ============================================
Sub Go_Error( str )
Call DBConnEnd()
Response.Write " <script language=javascript>alert(' " & str & " \n\n系統將自動返回前一頁面

Response.End
End Sub
' ============================================
' 格式化時間(顯示)
' 參數:n_Flag
' 1:"yyyy-mm-dd hh:mm:ss"
' 2:"yyyy-mm-dd"
' 3:"hh:mm:ss"
' 4:"yyyy年mm月dd日"
' 5:"yyyymmdd"
' ============================================
Function Format_Time(s_Time, n_Flag)
Dim y, m, d, h, mi, s
Format_Time = ""
If IsDate (s_Time) = False Then Exit Function
y = cstr ( year (s_Time))
m = cstr ( month (s_Time))
If len (m) = 1 Then m = " 0 " & m
d = cstr ( day (s_Time))
If len (d) = 1 Then d = " 0 " & d
h = cstr ( hour (s_Time))
If len (h) = 1 Then h = " 0 " & h
mi = cstr ( minute (s_Time))
If len (mi) = 1 Then mi = " 0 " & mi
s = cstr ( second (s_Time))
If len (s) = 1 Then s = " 0 " & s
Select Case n_Flag
Case 1
' yyyy-mm-dd hh:mm:ss
Format_Time = y & " - " & m & " - " & d & " " & h & " : " & mi & " : " & s
Case 2
' yyyy-mm-dd
Format_Time = y & " - " & m & " - " & d
Case 3
' hh:mm:ss
Format_Time = h & " : " & mi & " : " & s
Case 4
' yyyy年mm月dd日
Format_Time = y & " 年 " & m & " 月 " & d & " 日 "
Case 5
' yyyymmdd
Format_Time = y & m & d
End Select
End Function
' ============================================
' 把字符串進行HTML解碼,替換server.htmlencode
' 去除Html格式,用於顯示輸出
' ============================================
Function outHTML( str )
Dim sTemp
sTemp = str
outHTML = ""
If IsNull(sTemp) = True Then
Exit Function
End If
sTemp = Replace (sTemp, " & " , " & " )
sTemp = Replace (sTemp, " < " , " < " )
sTemp = Replace (sTemp, " > " , " > " )
sTemp = Replace (sTemp, Chr ( 34 ), " " " )
sTemp = Replace (sTemp, Chr ( 10 ), " <br> " )
outHTML = sTemp
End Function
' ============================================
' 去除Html格式,用於從數據庫中取出值填入輸入框時
' 注意:value="?"這邊一定要用雙引號
' ============================================
Function inHTML( str )
Dim sTemp
sTemp = str
inHTML = ""
If IsNull(sTemp) = True Then
Exit Function
End If
sTemp = Replace (sTemp, " & " , " & " )
sTemp = Replace (sTemp, " < " , " < " )
sTemp = Replace (sTemp, " > " , " > " )
sTemp = Replace (sTemp, Chr ( 34 ), " " " )
inHTML = sTemp
End Function
' ============================================
' 檢測上頁是否從本站提交
' 返回:True,False
' ============================================
Function IsSelfRefer()
Dim sHttp_Referer, sServer_Name
sHttp_Referer = CStr (Request.ServerVariables( " HTTP_REFERER " ))
sServer_Name = CStr (Request.ServerVariables( " SERVER_NAME " ))
If Mid (sHttp_Referer, 8 , Len (sServer_Name)) = sServer_Name Then
IsSelfRefer = True
Else
IsSelfRefer = False
End If
End Function
' ============================================
' 得到安全字符串,在查詢中使用
' ============================================
Function Get_SafeStr( str )
Get_SafeStr = Replace ( Replace ( Replace ( Trim ( str ), " ' " , "" ), Chr ( 34 ), "" ), " ; " , "" )
End Function
' ============================================
' 取實際字符長度
' ============================================
Function Get_TrueLen( str )
Dim l, t, c, i
l = Len ( str )
t = l
For i = 1 To l
c = Asc ( Mid ( str , i, 1 ))
If c < 0 Then c = c + 65536
If c > 255 Then t = t + 1
Next
Get_TrueLen = t
End Function
' ============================================
' 判斷是否安全字符串,在注冊登錄等特殊字段中使用
' ============================================
Function IsSafeStr( str )
Dim s_BadStr, n, i
s_BadStr = " ' &<>?%,;:()`~!@#$^*{}[]|+-= " & Chr ( 34 ) & Chr ( 9 ) & Chr ( 32 )
n = Len (s_BadStr)
IsSafeStr = True
For i = 1 To n
If Instr ( str , Mid (s_BadStr, i, 1 )) > 0 Then
IsSafeStr = False
Exit Function
End If
Next
End Function
% >