仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 436|回复: 8
打印 上一主题 下一主题

[学习教程] ASP网站制作之使用ASP打造网站论坛DIY -4

[复制链接]
小妖女 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:09:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
asp可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。而浏览者一点觉察不出来,就像为他专门制作的页面一样。使用各种各样的组件,asp可以完成无比强大的功能。  3、构建文章宣布部分
  文章宣布模块只要两个页面,一个是后面提到的用来供应输出窗体的submit.asp,另有一个是用来处置窗体输出的subresult.asp。后面的谁人页面很复杂,基础上就是一个HTML窗体,没有甚么好讲的,上面来看看subresult.asp的内容:
<html>
<head>
<title>宣布文章</title>
<metahttp-equiv="Content-Type"content="text/html;charset=GB2312">
</head>
<bodybgcolor="#FFFFFF">
<%
author=request("author")
password=request("password")
topicid=request("topicid")
boardid=request("boardid")
content=request("content")
title=request("title")
  注:这一段掏出在submit.asp中提交的表但内容,放在响应的变量中。
<html>
<head>
<title>宣布文章</title>
<metahttp-equiv="Content-Type"content="text/html;charset=GB2312">
</head>
<bodybgcolor="#FFFFFF">
<%
author=request("author")
password=request("password")
topicid=request("topicid")
boardid=request("boardid")
content=request("content")
title=request("title")
  (1)查询作者是不是已存在
cmd.CommandText="select*from作者表whereid="&author&""
Setrs=cmd.Execute()
  (2)反省权限
cmd.CommandText="select*from作者表whereid="&author&""
Setrs=cmd.Execute()
  注:这一段是对作者权限举行反省,关于帐号不存在大概暗码毛病做出响应的毛病处置。在这儿能够看到response.end的用法,它是用来停止以后ASP剧本。分离if语句,能够对程序中的预期毛病举行处置。在一个好的WEB使用中,毛病处置是必不成少的。
  (3)将材料中的单引号改成两个单引号,而且在前后加上单引号
FunctionSqlStr(data)
SqlStr=""&Replace(data,"","")&""
EndFunction
写进数据库
sql="InsertInto内容表(看板id,主题id,作者id,题目,内容)Values("
sql=sql&SqlStr(topicid)&","
sql=sql&SqlStr(boardid)&","
sql=sql&SqlStr(author)&","
sql=sql&SqlStr(title)&","
sql=sql&SqlStr(content)&")"
conn.Executesql
%>
<h2>文章已被发送到数据库,当板主审视后就能够看到了<h2>
</body>
</html>
  到这儿,文章已被保留在数据库中了。可是,它其实不可以立即被显现出来,还必要版主的承认才行。上面,就来看看论坛的办理部分的内容。
  4、论坛的办理部分
  这儿是我们这个论坛的中心之地点,但它完成起来也没有甚么出格的中央。仍是那些老器材:窗体处置,数据库查询,在用ASP把他们无机的分离起来。当进进了文章审视形式(后面提到的板务处置)以后,最为主要的内容,应当是对版主的身份举行考证了。上面来看看版主上岸页面:
<%boardid=request("boardid")%>
(注:boardid是由进进这个页面的毗连所传送过去的,是要举行板务处置的看板的ID。经由过程它才干晓得处置的是谁人板的板务。)
Setconn=erver.CreateObject("ADODB.Connection")
conn.Open"driver={MicrosoftAccessDriver(*.mdb)};dbq="&Server.MapPath("bbssystem.mdb")
Setcmd=Server.CreateObject("ADODB.Command")
Setcmd.ActiveConnection=conn
cmd.CommandText="板主暗码查询"
ReDimparam(0)
param(0)=CLng(boardid)//注:CLng不成疏忽
Setrs=cmd.Execute(,param)
boardmanager=rs("板主")
setcmd=nothing
%>
<html>
<head>
<title>UntitledDocument</title>
<metahttp-equiv="Content-Type"content="text/html;charset=GB2312">
</head>
<bodybgcolor="#FFFFFF">
<p>只要板主<%=boardmanager%>才干够进进这个中央</p>
<p>请输出考证暗码,而且为了坚持身份考证,请翻开扫瞄器的Cookies。</p>
<formmethod="post"action="managerloginrest.asp">
<inputtype="password"name="password">
<inputtype="hidden"name="boardid"value=<%=boardid%>>
<inputtype="submit"name="Submit"value="断定">
</form>
  注:这个页面仅仅是用来上岸用的,它失掉斑竹输出的暗码后,其实不能举行考证,而是将考证的事情放到下一个页面中举行。实践上,暗码输出和考证的事情是能够放在一个页面中完成的,只不外程序代码的布局布置上有点贫苦。
</body>
</html>
<%
setrs=nothing
conn.close
setconn=nothing
%>
  如今失掉了版主ID和输出的暗码,上面就是举行考证的事情managerloginrest.asp了,它承受下面谁人文件中窗体的内容,并举行相干处置:
<%response.buffer=true%>
  注:把缓冲区设置为同意利用。这一条一样平常来讲,是应当加在每一个ASP页面的首部的,如许可以进步ASP页面的功能。在翻开了缓冲区后,ASP中另有一些响应的特别用法,在前面会说起。
boardid=request("boardid")
password=request("password")
Setconn=Server.CreateObject("ADODB.Connection")
conn.Open"driver={MicrosoftAccessDriver(*.mdb)};dbq="&Server.MapPath("bbssystem.mdb")
Setcmd=Server.CreateObject("ADODB.Command")
Setcmd.ActiveConnection=conn
cmd.CommandText="板主暗码查询"
ReDimparam(0)声明
param(0)=CLng(boardid)//注:CLng不成疏忽
Setrs=cmd.Execute(,param)
boardmanager=rs("板主")
ifpassword<>rs("暗码")then%>
<html>
<head>
<title>身份考证</title>
<metahttp-equiv="Content-Type"content="text/html;charset=GB2312">
</head>
<bodybgcolor="#FFFFFF">
暗码毛病
</body>
</html>
<%
else
session("beenthere")=boarded
  注:利用Session来坚持对版主的身份考证,这必需请求客户端扫瞄器的cookie被翻开了。由于Session是经由过程cookie来完成的。在这儿,把看板ID赋给Session变量beenthere,标明版主主已经由过程了身份考证。在前面的每一个版务处置的页面中,都要反省beenthere是不是和响应的看版ID符合。
url="boardmanager.asp?boardid="&boardid
response.redirecturl因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQLServer还有更多的扩展,可以用存储过程,数据库大小无极限限制。
因胸联盟 该用户已被删除
沙发
发表于 2015-1-18 21:33:07 | 只看该作者
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
老尸 该用户已被删除
板凳
发表于 2015-1-25 15:27:24 | 只看该作者
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
精灵巫婆 该用户已被删除
地板
发表于 2015-2-2 22:39:28 来自手机 | 只看该作者
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
冷月葬花魂 该用户已被删除
5#
发表于 2015-2-8 19:03:55 | 只看该作者
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
简单生活 该用户已被删除
6#
发表于 2015-2-25 23:09:34 | 只看该作者
先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习
再见西城 该用户已被删除
7#
发表于 2015-3-8 10:18:02 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
蒙在股里 该用户已被删除
8#
发表于 2015-3-15 22:07:59 | 只看该作者
ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
谁可相欹 该用户已被删除
9#
发表于 2015-3-22 16:48:27 | 只看该作者
Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-25 02:05

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表