4系统前台模块设计 4.1网站搜索模块的实现 内容来自www.paper51.com 4.1.1 功能描述 copyright paper51.com 用户访问系统时,首先接触到的是首页面index.asp,它提供了到达5个功能模块的超链接,默认显示为网站搜索模块。另外页面还提供一个表单from,让用户输入要搜索的关键字,当用户输入关键字单击搜索按钮后,表单中的数据将被提交到search.asp文件中处理。在search.asp首先读取传递过来的数据,然后判断该数据是否为空。如果不为空。则将数据分割为多个关键字,然后在数据库中查找匹配的记录,并在页面上显示。 copyright paper51.com 4.1.2 流程图 内容来自论文无忧网 www.paper51.com 在网站搜索模块中,数据流程如图2所示: http://www.paper51.com 内容来自www.paper51.com 图2 网站搜索数据流程图 http://www.paper51.com 4.1.3 界面设计 内容来自论文无忧网 www.paper51.com 搜索模块的界面设计如图3所示: copyright paper51.com
copyright paper51.com 图3 搜索模块界面 paper51.com 4.1.4 工作流程和代码设计 paper51.com 输入关键字后,数据被提交到search.asp中,首先使用Request对象的QueryString()方法读取表单传递过来的关键字,再判断关键字是否为空,若不为空,将多个关键字进行处理后分开保存在一维数组中: 内容来自论文无忧网 www.paper51.com keyword = replace(keyword,"'"," ") '用空格替换关键词中的字符"'" 内容来自www.paper51.com
keyword = replace(keyword,"["," ") '用空格替换关键词中的字符"[" 内容来自www.paper51.com keyword = replace(keyword,"]"," ") '用空格替换关键词中的字符"]" 内容来自www.paper51.com keyword = replace(keyword,","," ") '用空格替换关键词中的中文字符"," http://www.paper51.com keyword = replace(keyword,","," ") '用空格替换关键词中的英文字符"," 内容来自www.paper51.com
keyword=ltrim(rtrim(keyword)) '去掉关键词左边和右边的空格。函数LTrim 去掉字符串左边空格,函数RTrim 去掉字符串右边空格 内容来自论文无忧网 www.paper51.com keywordlist=split(keyword) '将用户输入的关键词用空格分成多个关键词并保存在一维数组keywordlist中 copyright paper51.com 然后在循环写出查询的spl语句: 内容来自论文无忧网 www.paper51.com if path="" or sort_path="/0/" then 内容来自www.paper51.com search_sql="verify=0and ("&sql&") order by click desc" copyright paper51.com else http://www.paper51.com search_sql="sort_path like '%" & sort_path & "%' andverify=0 and("&sql&") order by click desc" copyright paper51.com endif copyright paper51.com
rs.open paper51.com
"selectid,sort_path,sort_id,title,keyword,url,content,address,postcode,verify,clickfrom web where "&search_sql,conn,1,1 paper51.com
执行查询。使用html代码显示查询页面的网站搜索部分,然后判断是否存在满足条件的记录,如果存在,则使用showcontent()过程显示满足条件的所有记录,并将记录中的关键字用红色字体显示。然后使用showpage()过程显示记录的页数信息,包括当前页、总页数等。最后显示查询页面的底部的管理入口,并建立到管理员登录的超连接。 paper51.com
4.2 分类目录模块的实现 paper51.com 4.2.1 功能描述 内容来自论文无忧网 www.paper51.com 分类目录界面由dir.asp实现,在该页面显示的分类信息包括sort_id=0的分类和sort_id=1的分类,即最上级分类和要求显示在首页上的下级分类。例如,如果把“计算机”作为最上级分类。“计算机”又分为以下3类:软件、硬件和网络。设置这3个分类也显示在首页上,即show=1。这3个分类的下一级分类不在首页上显示。当单击分类目录首页上的某分类时,将进入list.asp文件,在该文件中,将详细显示这一分类及其下级分类,并显示属于这一分类的所有网站信息。 http://www.paper51.com 4.2.2 工作流程和代码设计 内容来自论文无忧网 www.paper51.com 单击分类目录首页上的某一分类,进入list.asp文件,在该文件中,首先使用Request对象的QueryString()方法读取sort_id的值并在数据库中查找这一分类的所有上级分类,并连接在一起,其逐级显示分类的代码如下: paper51.com
locality=" >> "&sort '要在网页上显示的逐级分类,如计算机>>软件>>编程语言 copyright paper51.com if sort_id<>0 then 'sort_id<> 0 表示该类存在上级分类 paper51.com
fori=1 to 8 '8表示在本系统中分类只有8级 copyright paper51.com setrs=conn.execute("select * from sort where id="&sort_id) http://www.paper51.com ifrs.eof and rs.bof then paper51.com else paper51.com sort=rs("sort") copyright paper51.com
locality=">> copyright paper51.com <ahref=list.asp?sort_id="&sort_id&">"&sort&"</a>"&locality 内容来自www.paper51.com sort_id=rs("sort_id") '上一层分类的id paper51.com
endif 内容来自论文无忧网 www.paper51.com rs.close paper51.com
setrs = nothing 内容来自论文无忧网 www.paper51.com next http://www.paper51.com end if 内容来自论文无忧网 www.paper51.com
若该分类还存在下级分类,将显示下级分类,最后显示属于这一分类的所有网站信息,在显示网站信息的代码中,用到了两个过程:showcontent()过程和showpage()过程。Showcontent()过程显示所有满足条件的记录。Showpage()过程显示页数信息,包括当前页、总页数等,其中过程showpage()的处理代码如下: paper51.com Function showpage(totalnumber,maxperpage,filename) '定义过程 内容来自论文无忧网 www.paper51.com
Dimn copyright paper51.com Iftotalnumber Mod maxperpage=0 Then 'totalnumber能够整除maxperpage http://www.paper51.com n=totalnumber \ maxperpage http://www.paper51.com Else 'totalnumber不能够整除maxperpage 内容来自www.paper51.com n=totalnumber \ maxperpage+1 paper51.com EndIf copyright paper51.com IfCurrentPage<2 Then '当前页是第一页 http://www.paper51.com %> paper51.com 第一页 上一页 copyright paper51.com <% http://www.paper51.com
Else '当前页不是第一页 http://www.paper51.com %> 内容来自论文无忧网 www.paper51.com <ahref="<%=filename%>?sort_id=<%=rqid%>&page=1">第一页</a> <a href="<%=filename%>?sort_id=<%=rqid%>&page=<%=CurrentPage-1%>">上一页</a> http://www.paper51.com
<% 内容来自www.paper51.com
End If http://www.paper51.com
If n-currentpage<1 Then '总页数小于或等于当前页 http://www.paper51.com %> 内容来自论文无忧网 www.paper51.com 下一页 最后一页 paper51.com
<% 内容来自论文无忧网 www.paper51.com Else '总页数大于当前页 内容来自www.paper51.com
…… 内容来自论文无忧网 www.paper51.com End If 内容来自论文无忧网 www.paper51.com %> copyright paper51.com 共<%=totalnumber%>个网站页次:<%=CurrentPage%>/<%=n%>页 paper51.com 4.3网站登录模块的实现 http://www.paper51.com 4.3.1 功能描述 paper51.com
网站登录页面为jion.asp,在网站登录模块,包含一个表单,用于网站联系人输入网站和个人信息,在表单中,包含输入网站信息的文本域。其中。显示分类目录的文本域为sort_id,它为只读类型,只能单击文本域右边的“选择分类”按钮来输入,当网站联系人输入所有的信息,并单击“确定”按钮,然后判断用户输入的分类目录是否存在,如果存在,则生成输入网站的最终分类目录。接着再判断用户输入的网站网址是否已经保存在数据库中,如果没有保存在数据库中,则在数据库中插入一条新的记录。如果数据库中已经存在该网址,则给出提示,并返回到前一页,当所有的数据保存在数据库中之后,页面上显示网站登录成功的提示。 内容来自论文无忧网 www.paper51.com
4.3.2 数据流程图 paper51.com 网站登录的数据流程图如图4: http://www.paper51.com
copyright paper51.com 图4 网站登录数据流程图 http://www.paper51.com 4.3.3 工作流程 内容来自www.paper51.com 当网站联系人输入所有的信息提交后,表单中的数据首先在check()过程中检查其合法性。如果合法,数据将被提交到join_ok.asp文件中处理,在该文件中将使用Request对象的From()方法获取网站登录数据,然后判断用户输入的分类目录是否存在,如果存在,则生成输入网站的最终分类目录,接着再判断用户输入的网站网址是否已经保存在数据库中,如果没有保存在数据库中,则在数据库中插入一条新的记录: paper51.com rs.addnew '插入新记录 内容来自www.paper51.com
rs("sort")=path '子类名称 paper51.com rs("sort_path")=path_id '子类id 路径 paper51.com
rs("sort_id")=sort_id '父类id 内容来自www.paper51.com rs("title")=request.form("title") '网站名称 内容来自www.paper51.com rs("url")=request.form("url") '网站网址 copyright paper51.com rs("keyword")=request.form("keyword") '关键字 copyright paper51.com rs("content")=request.form("content") '网站描述 内容来自www.paper51.com
rs("name")=request.form("name") '联系人姓名 内容来自www.paper51.com rs("email")=request.form("email") '联系人email 内容来自www.paper51.com
ifoicq="" then 'qq为空 http://www.paper51.com
rs("oicq")=null 内容来自论文无忧网 www.paper51.com else copyright paper51.com rs("oicq")=oicq 'qq 内容来自论文无忧网 www.paper51.com endif 内容来自论文无忧网 www.paper51.com rs("address")=request.form("address") '联系人地址 paper51.com rs("postcode")=request.form("postcode") '邮政编码 copyright paper51.com rs("verify")="-1" '-1表示为审查 http://www.paper51.com rs("click")="0" '点击次数 copyright paper51.com
rs("time")=date() '登录时间 paper51.com rs.update '更数数据库 http://www.paper51.com rs.close '关闭RecordSet 对象 内容来自论文无忧网 www.paper51.com
end if http://www.paper51.com set rs=nothing copyright paper51.com 如果数据库中已经存在该网址,则给出提示,并返回到前一页。当所有的数据保存到数据库中后,页面上将显示登录成功的提示。 copyright paper51.com |