小女巫 发表于 2015-2-3 23:32:10

ASP编程:ASP进阶之文章在线办理更新(10)

由于ASP提供的是一对多的服务,所以用户的一些特殊需求很难得到满足。   后面讲述了关于文章办理体系的暗码及暗码验证,经由过程暗码验证可以限制普通阅读者所能进入的页面,这里所要限制的就是通俗用户所不克不及进入的页面,也就是包含办理页面、删除文章页面、修正文章页面和修正用户信息和修正栏目信息的页面。其实这里的主办理页面就是和文章办理体系的主页面相似的页面,只是在外面添加了一些有关办理内容的毗连,以便利办理者对文章停止在线的修正删除等操作。

   上面就为人人引见这一页面的次要法式内容,因为它和文章办理的主页面差不多,所以这里只是把其法式写出来,并注明和主页面分歧的中央,其他不异的局部请人人参考本专题的第七节!

   文件manage.asp

   "翻开数据库毗连
<!--#include file="conn.asp"-->
<%
   "限制非办理用户进入,这个在本专题的第七节有引见
if request.cookies("adminok")="" then
response.redirect "login.asp"
end if
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>ASP技能专题</title>
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
<link rel="stylesheet" type="text/css" href="style.css">
<script language="javascript">
function popwin2(id,path)
{ window.open("openarticle.asp?id="+id+"&ppath="+path,"","height=450,width=600,resizable=yes,scrollbars=yes,status=no,toolbar=no,menubar=no,location=no");
}
</script>
</head>
<%
   const MaxPerPage=18
   dim totalPut   
   dim CurrentPage
   dim TotalPages
   dim i,j
   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=1
   end if
set rstype=server.createobject("adodb.recordset")
typesql="select * from type where typeID="&cstr(typeid)
rstype.open typesql,conn,1,1
if not rstype.eof then
typename=rstype("type")
end if
rstype.close
set rstype=nothing
%>
<body>
<div align="center"><center>
<table border="0" width="92%" cellspacing="0" cellpadding="0">
<tr>
    <td width="100%" style="border-left: thin dotted rgb(0,128,0); border-right: thin dotted rgb(0,128,0)"><p align="center"><br>
    动网ASP技能专题>><font color="#FF0000"><%response.write ""&typename&""%></font><br>
<center>
<a href="manage.asp?typeid=1">ASP教程</a>|<a href="manage.asp?typeid=2">ASP FAQ</a>|<a href="manage.asp?typeid=3">ASP文摘</a>
|<a href="manage.asp?typeid=4">ASP实例</a>|<a href="manage.asp?typeid=5">ASP平安</a>|

   "显示体系办理页面相干毗连,用于修正办理员暗码称号和增添修正删除栏目,这个在前面将有引见
<a href="changepass.asp" title="用于修正办理员暗码称号和增添修正删除栏目"><font color=red>办理页面</font></a>
    <div align="center"><%
sql="select * from article where typeid="+cstr(typeid)+" order by data desc"
Set rs= Server.CreateObject("ADODB.Recordset")
rs.open sql,conn,1,1
if rs.eof and rs.bof then
       response.write "<p align='center'> 还 没 有 任 何 文 章</p>"
   else
totalPut=rs.recordcount
      totalPut=rs.recordcount
      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
       if currentPage=1 then
         showpage totalput,MaxPerPage,"manage.asp"
            showContent
            showpage totalput,MaxPerPage,"manage.asp"
       else
          if (currentPage-1)*MaxPerPage<totalPut then
            rs.move(currentPage-1)*MaxPerPage
            dim bookmark
            bookmark=rs.bookmark
         showpage totalput,MaxPerPage,"manage.asp"
            showContent
             showpage totalput,MaxPerPage,"manage.asp"
      else
      currentPage=1
         showpage totalput,MaxPerPage,"manage.asp"
         showContent
         showpage totalput,MaxPerPage,"manage.asp"
      end if
   end if
   rs.close
   end if
      
   set rs=nothing
   conn.close
   set conn=nothing


   sub showContent
       dim i
   i=0

%>
      <div align="center"><center><table border="1" cellspacing="0" width="589" bordercolorlight="#000000" bordercolordark="#FFFFFF" cellpadding="0">
      <tr>
          <td width="46" align="center" bgcolor="#D0D0D0" height="20"><strong>ID号</strong></td>
          <td width="400" align="center" bgcolor="#D0D0D0"><strong>文章题目</strong></td>
          <td width="69" align="center" bgcolor="#D0D0D0"><strong>修正</strong></td>
          <td width="68" align="center" bgcolor="#D0D0D0"><strong>删除</strong></td>
      </tr>
<%do while not rs.eof%>
      <tr>
          <td height="23" width="46"><p align="center"><%=rs("articleid")%></td>
          <td width="400"><p align="center"><a href="javascript:popwin2(<%=rs("articleid")%>)"><%=rs("title")%></a></td>

   "显示与修正删除的相干毗连,详细法式在前面章节将有引见
          <td width="69"><p align="center"><a
    href="edit.asp?id=<%=rs("articleid")%>">修正</a></td>
          <td width="68"><p align="center"><a
    href="delete.asp?id=<%=rs("articleid")%>">删除</a></td>
      </tr>
<% i=i+1
      if i>=MaxPerPage then exit do
      rs.movenext
   loop
%>
      </table>
      </center></div><%
   end sub

function showpage(totalnumber,maxperpage,filename)
dim n
if totalnumber mod maxperpage=0 then
   n= totalnumber \ maxperpage
else
   n= totalnumber \ maxperpage+1
end if
response.write "<form method=Post action="&filename&"?typeid="&typeid&">"

   "显示增添文章相干毗连,关于添加文章在本专题的第1、二节有引见
response.write "<p align='center'><a href='addarticle.asp?typeid="&typeid&"'><font color='red'>增添文章</font></a> "
if CurrentPage<2 then
    response.write "<font color='#000080'>首页 上一页</font> "
else
    response.write "<a href="&filename&"?page=1&typeid="&typeid&">首页</a> "
    response.write "<a href="&filename&"?page="&CurrentPage-1&"&typeid="&typeid&">上一页</a> "
end if
if n-currentpage<1 then
    response.write "<font color='#000080'>下一页 尾页</font>"
else
    response.write "<a href="&filename&"?page="&(CurrentPage+1)&"&typeid="&typeid&">"
    response.write "下一页</a> <a href="&filename&"?page="&n&"&typeid="&typeid&">尾页</a>"
end if
   response.write "<font color='#000080'> 页次:</font><strong><font color=red>"&CurrentPage&"</font><font color='#000080'>/"&n&"</strong>页</font> "
    response.write "<font color='#000080'> 共<b>"&totalnumber&"</b>篇文章 <b>"&maxperpage&"</b>篇文章/页</font> "
   response.write " <font color='#000080'>转到:</font><input type='text' name='page' size=4 maxlength=10 class=smallInput value="&currentpage&">"
   response.write "<input class=buttonface type='submit'value='Goto'name='cndok'></span></p></form>"
end function
%>
    </div></td>
</tr>
</table>
</center></div>
</body>
</html>

   ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于Windows NT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;

第二个灵魂 发表于 2015-2-4 01:27:16

你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。

乐观 发表于 2015-2-5 00:35:26

另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)

深爱那片海 发表于 2015-2-6 20:29:19

代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。

蒙在股里 发表于 2015-2-14 16:30:11

没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。

小魔女 发表于 2015-2-21 19:00:24

如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:

冷月葬花魂 发表于 2015-3-6 20:57:25

ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。

灵魂腐蚀 发表于 2015-3-11 10:48:33

Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write

因胸联盟 发表于 2015-3-18 06:47:06

封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。

分手快乐 发表于 2015-3-20 02:24:43

Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)

爱飞 发表于 2015-3-30 06:25:42

你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。

莫相离 发表于 2015-4-15 10:45:06

学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:

若天明 发表于 2015-4-18 15:47:48

ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。

飘灵儿 发表于 2015-5-6 14:09:50

ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。

小妖女 发表于 2015-6-14 11:11:07

封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。

金色的骷髅 发表于 2015-6-26 21:28:51

学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。

海妖 发表于 2015-7-10 03:45:41

虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。

简单生活 发表于 2015-7-13 05:10:43

不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍

愤怒的大鸟 发表于 2015-7-13 20:18:10

学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:

精灵巫婆 发表于 2015-7-13 23:44:58

我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
页: [1] 2
查看完整版本: ASP编程:ASP进阶之文章在线办理更新(10)