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