上面的程序很简单,都是HTM的结构,我就不多说了,下面我来讲讲验证用户名和密码的页面chklogin.asp
"打开并建立数据库连接 <!--#include file=conn.asp--> dim sql dim rs dim founduser dim username dim password dim errmsg dim founderr founderr=false FoundUser=false "接受从login.asp返回的用户信息username,password username=trim(request.form("username")) password=trim(Request.Form("password")) "假如用户名username和密码password都为空,则返回login.asp页面 if username="" then response.redirect "login.asp" end if if password="" then response.redirect "login.asp" end if "利用username打开记录集admin中指定的记录 set rs=server.createobject("adodb.recordset") sql="select * from admin where username='"&username&"'" rs.open sql,conn,1,1 if not rs.eof then "在指定记录中假如返回的密码password和数据库中的密码相等,则将页面导向管理页面manage.asp,这里的response.cookies("adminok")=true是当用户为正确的时候,确认一个cookies,这样可以下次不用登陆直接可以进入管理页面 if password=rs("password") then response.cookies("adminok")=true response.redirect "manage.asp" else "假如密码不正确,把页面导向登陆页面login.asp response.redirect "login.asp" end if else response.redirect "login.asp" end if "关闭数据库连接 rs.close conn.close set rs=nothing set conn=nothing %>
通过了密码验证以后就进入了文章管理系统的管理主页面,下一节的内容就是管理页面的主要结构和功能。
mydear 发表于:2007.08.11 13:49 ::分类: (
一般分类 ) ::阅读:(0次) ::
评论 (0)
-->
===========================================================
ASP进阶之文章在线管理更新(七)(转)
===========================================================
经过了文章的添加、保存、显示,那么现在应该来谈谈关于管理程序的显示主页面,也就是显示所有文章的标题连接,以方便浏览者查找文章,其应该具有的功能有:显示所有文章的标题连接,加入日期,浏览次数等信息,另外还必须提供分页功能,要不然这么多的文章标题在一个页面都显示出来,那将非常的费时且不便浏览,另外由于本程序在这里结合了文章分栏目搜索的功能,所以在这里也将一起介绍了。
下面就为大家详细的介绍主页面index.asp的这些功能的实现过程以及其具体功用:
"建立数据库连接 <!--#include file="conn.asp"-->
ASP专题栏目
"定义每页最大文章标题显示量MaxPerPage,你可以自己修改这里的数字来达到你的最佳显示效果 const MaxPerPage=18 dim totalPut dim CurrentPage dim TotalPages dim i,j
"假如返回的页面信息是空的,也就是如果你直接输入index.asp,那么就用这里定义的页数第一页 if not isempty(request("page")) then currentPage=cint(request("page")) else currentPage=1 end if dim sql dim rs dim rstype dim typesql dim typeid,typename
"如果返回的栏目信息为空,那么就用这里定义的栏目,这里指定的是第三个栏目 if not isEmpty(request("typeid")) then typeid=request("typeid") else typeid=3 end if
"通过返回的栏目typeid号,打开数据库显示指定的栏目,并把其值交给typename set rstype=server.createobject("adodb.recordset") typesql="select * from type where typeID="&cstr(typeid) rstype.open typesql,conn,1,1 typename=rstype("type") rstype.close %>
"显示栏目信息,当你点击了任何一个栏目,在typename的位置都会显示相关信息,这里没有采用栏目的自动显示方式是考虑了页面的显示效果,而采用手工添加的模式,要想采用自动模式,就自己写吧:)相信你学习到现在,不会连这个都编不出来吧! 动网ASP技巧专题>>
ASP FAQ|ASP组件 |ASP文摘|ASP实例|ASP安全
"打开指定的记录集article并按照文章的加入日期排序,在这里打开有两个条件,一个是利用like来查询数据库并显示相关文章标题,还有就是通过返回的typeid显示指定栏目的文章
sql="select * from article where title like '%"&request("txtitle")&"%' and typeid="+cstr(typeid)+" order by date desc"
Set rs= Server.CreateObject("ADODB.Recordset")
rs.open sql,conn,1,1
"如果查询数据库的结果指向记录集的开始或者结尾,表示数据库中没有任何相关文章
if rs.eof and rs.bof then
response.write "
没有或没有找到任何文章 "
else
"如果数据库内有内容,则取得数据库内文章数目
totalPut=rs.recordcount
"假如页面参数currentpage小于1,则指定为1
if currentpage<1 then
currentpage=1
end if
"利用文章总数和每页最大文章数算得分页的页数
if (currentpage-1)*MaxPerPage>totalput then
if (totalPut mod MaxPerPage)=0 then
currentpage= totalPut MaxPerPage
else
currentpage= totalPut MaxPerPage + 1
end if
end if
"如果分页的页数为1或者页面数减1乘与页面最大文章数小于文章总数,则用已经做好的function showpage在showContent子程序也就是显示文章标题部分的上面和下面显示分页程序
if currentPage=1 then
showpage totalput,MaxPerPage,"index.asp"
showContent
showpage totalput,MaxPerPage,"index.asp"
else
if (currentPage-1)*MaxPerPagers.move (currentPage-1)*MaxPerPage
"定义书签
dim bookmark
bookmark=rs.bookmark
showpage totalput,MaxPerPage,"index.asp"
showContent
showpage totalput,MaxPerPage,"index.asp"
else
currentPage=1
showpage totalput,MaxPerPage,"index.asp"
showContent
showpage totalput,MaxPerPage,"index.asp"
end if
end if
rs.close
end if
set rs=nothing
"显示文章标题及相关数据库内容子程序
sub showContent
dim i
i=0
%>
>>分页 "
"如果当前页数小于2,则显示的文章首页和上一页不显示连接,否则用当前页数减去1来显示上一页,直接用page=1来显示首页 if CurrentPage<2 then response.write "首页 上一页 " else response.write "首页 " response.write "上一页 " end if
"假如分页页数小于1,则直接显示下一页和尾页,否则用当前页数加上1来显示下一页,用已经算出的文章分页数N显示文章的尾页 if n-currentpage<1 then response.write "下一页 尾页" else response.write "" response.write "下一页 尾页" end if
"用N和maxperpage显示文章的分页数和每页的文章数 response.write " 页次:"&CurrentPage&"/"&n&"页 " response.write " 共"&totalnumber&"篇文章 "&maxperpage&"篇文章/页 "
"直接输入文章所在页面转到相关页面 response.write " 转到:" response.write " "
end function
%>
"文章搜索相关程序
"把输入的查询字符赋值给txtitle,这样在前面的显示文章语句就起了作用title like '%"&request("txtitle")&"%'
标题:
"显示与文章相关的栏目信息,可以选择一个进行查询,这里的typeid也赋值给了typeid,以使前面的显示文章的程序对需要显示内容做出判断 typesql="select * from type" rstype.open typesql,conn,1,1 do while not rstype.eof sel="selected" response.write ""+rstype("type")+""+chr(13)+chr(10) rstype.movenext loop rstype.close set conn=nothing %>
在这里顺便介绍一下关于打开文章的程序openarticle.asp,这个也是一个更新数据库内容(update浏览数)和重定向文件。很简单,所以这里只是简单介绍一下它的程序内容:
"打开数据库连接
<!--#include file="conn.asp"-->
dim sql
dim rs
dim articleid
"利用update从文章连接处返回的文章号ID更新指定文章的浏览数,以及利用response.redirect重定向文章的连接
articleid=request("id")
set rs=server.createobject("adodb.recordset")
sql="update article set hits=hits+1 where articleID="&articleid
rs.open sql,conn,1,1
rs.close
conn.close
response.redirect "list.asp?id="&articleid
%>
好了,关于文章的显示首页面就完成了,它可以显示文章的标题,加入日期等文章相关信息,另外还结合了文章的分栏目搜索查询功能。在这里你会发现,利用ASP对数据库进行查询并不是一件很难的事情,只要利用一个like就可以轻易实现,文章管理的前台程序我们已经基本完成,下面该来介绍管理系统的后台程序了。下一节我们将从管理员的密码及密码验证开始介绍管理系统的后台程序
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7178747/viewspace-161817/,如需转载,请注明出处,否则将追究法律责任。
<%if(items[i].items.items.length) { %>
<%}%> <%}%>
|
|