|          
《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
 %>
 
 |