《2yup漂流祈愿瓶大家一齊做》(三)
'*************************************************************** (接上講 七 的第一后面) ---------------------------------------------------------------- 以下內容是:1、設定區。2、參數處理。3、通用函數。 請將他們分別放到第一講(四)“站點的頁面設計”指定的位置,真實放置 版面是在第二講的(七)“站點網頁制作”的步驟1內的頂上和下角。 ------------------------------------------------------------------
二、(步驟3)依照(一)和構架建立設定區。
構建設置區主要是根據(一)功能和要求的第14點要求,現在將他們完成如下: <% '************************** '***** 設定區部分 ***** '**************************
'================= 基本設定 =============== max = 7 '每頁顯示數 ListNum = 16 '邊上列表數目 rate = 2 '管理或搜索時瓶子流速 User = "8chinaasp" '管理用戶名 PassWord = "8chinaasp" '管理密碼 PageTitle= "2YUP漂流祈愿瓶" '網頁名稱 homepage = "2yup.com" '主頁網址,不用加http:// MyWeb = "ASP中文網" '主頁名稱 imgType = ".gif" '不用改 picPath = "pic/" '圖片檔案夾路徑 path = "Pic/wishBoard.mdb" '數據庫路徑(為安全請更改) '================= 連接設定 =============== '左邊鏈接'[注意:“||”是分割符],這是產生自定義鏈接的設定 '引用通用函數中的 MyLinks(LinkArr)就可以產生。 '說明:排序應該是 [鏈接名稱]||[鏈接說明]||[鏈接網址]中間使用分割符“||”
L1 = "主頁||ASP中文網||http://"&homepage&"" L2 = "文檔||文檔中心||http://www.2yup.com/asp/article/" L3 = "論壇||ASP論壇||http://www.2yup.com/asp/" %>
<% '**************************** '***** 參數處理部分 ***** '**************************** ''================參數處理================ '獲取數值 keyword = Trim(Request("k")) howfind = Trim(Request("h")) Cpage = Trim(Request("Page")) Action = Trim(request("Action")) id = Trim(request("id")) UserName = Session("User") '管理或退出 If Action = "exit" Then Call logout() End if '連結數據庫 Call opendb(conn,path) '處理登入和刪除 Select Case Action '登入 Case "login2" Call login2 '刪除 Case "del" Call delWish() '消掉id才不會為顯示已刪瓶子而出錯 id = "" End Select
'==== 處理數據庫 ==== '求取搜索數據 if keyword <> "" then findData = " and "&howfind&" like '%"&checkStr(keyword)&"%'" end if '求取單個祈愿數據 if id <> "" then findData = findData & " and id = "&id&"" end if '設定讀寫模式 LockType = 1 if inStr(Action,"Save") or inStr(Action,"detail") then LockType = 3 end if '進行數據庫查尋 sql="select * from wish where Pass = True "&findData&" order by date desc" Call changetable (conn,sql,rs,LockType) '瓶子總數 num = rs.recordcount
'==== 無數據處理 ==== IF rs.EOF THEN '設定沒有數據時的提示內容 if id = "" and keyword = "" then Msgs = "<b>恭 喜 您 將 成 為 第 一 個 許 愿 人 !</b>" else Msgs = "<b>沒 有 您 要 找 的 許 愿 瓶 !</b>" end if END IF %>
三、(步驟4)依照(四)和構架編寫通用函數。 其實這個步驟和下一個步驟5--“編寫各部位程式”,是不能截然分開的, 明顯的通用函數可以直接使用和在這步中動手編寫,但是有的則需要到下 一步的時候結合副程式的編寫才能正確的寫出來。現在我將我們這個祈愿 瓶程序里使用到的通用函數都寫在下面,如果有錯誤的,或是不清楚的可 以提出來。 <% '********************************** '***** 通用數據庫函數部分 ***** '**********************************
'******************************************************************* '打開數據庫 sub opendb(connect,path) set connect=server.CreateObject("adodb.connection") connect.open "provider=microsoft.jet.oledb.4.0; " _ &"data source="&server.MapPath(path) end sub
'******************************************************************* '查詢或更改數據庫 function changetable(conn,sql,rs,LockType) set rs=server.createobject("ADODB.recordset") rs.open sql,conn,1,LockType end function
'******************************************************************* '關閉數據庫 sub closedb(connect) connect.close set connect=nothing end sub
'******************************************************************* '關閉臨時表 sub closetable(rs) if Rs.state = 1 then Rs.Close Set Rs=Nothing end if end sub
'******************************************************************* '過濾非法字符 function checkStr(str) if isnull(str) then checkStr = "" exit function end if checkStr=replace(str,"'","''") end function
'******************************************************************* '生日換算成年齡 function MyAge(Birthday) MyAge = DateDiff("yyyy",Birthday,Date) end function
'******************************************************************* '年齡換算成生日 function Mybday(Age) Mybday = DateAdd("yyyy",-Age,Date) end function
'******************************************************************* '產生連接 Sub MyLinks(LinkArr) MakeLink = Split(LinkArr,"||") MyLink = "<A HREF='"&MakeLink(2)&"' TITLE='"&MakeLink(1)&"'>"&MakeLink(0)&"</A>" Response.Write MyLink End Sub
'******************************************************************* '錯誤提示 Sub prompt(LoginMsg,ToUrl) Response.Write "<script language='JavaScript'>alert" _ &"('"&LoginMsg&"');"&ToUrl&"</script>" End Sub %>
|