仓酷云

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

[学习教程] ASP编程:实例进修Dreamweaver MX ASP编程基本2

[复制链接]
灵魂腐蚀 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:28:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。Dreamweaver|编程   
实例4、联合DW MX办事器行动在办事器端查验表单的正当性

  固然人人可使用DW MX的“行动”的反省表单生成JS代码来反省用户提交的表双数据是不是正当,但这是在客户端履行的,咱们的用户千奇百样,假如利用较低版本的阅读器能够会使客户端查验掉败,把不正当的信息拔出到数据库中。这是不答应的。上面咱们使用下面进修的request对象和判别语句添加到DW MX“办事器行动”代码中,完成办事器端查验表单,以根绝不正当的表单信息。
  新建一个ASP页,用ACCESS创立一个数据表,设计两个字段:“uers”、“pws”,设这两个字段为必填字段。用“自定字符串”毗连数据库。在页面中拔出表单、三个文本域、一个按扭,表双方法为:“POST”,按扭类型为“提交表单”,三个文本域称号对应以下:
  用 户 名:uers
  密    码:pws
  反复暗码:pws2
  如今,请求这三项为必填项,而且“暗码”必需等于“反复暗码”,不然告知操作者,输出有误,请前往!。操作步调以下:
  实例三(3)
  1、拔出“拔出纪录”办事器行动,按“F12”键预览页面,能正常拔出纪录。
  2、找到以下几句代码:
<%
' *** Insert Record: set variables
If (CStr(Request("MM_insert")) = "form1") Then
MM_editConnection = MM_new_STRING
MM_editTable = "use"
MM_editRedirectUrl = ""
MM_fieldsStr = "uers|value|pws|value"
MM_columnsStr = "Cuse|',none,''|pws|',none,''"
' create the MM_fields and MM_columns arrays
MM_fields = Split(MM_fieldsStr, "|")
MM_columns = Split(MM_columnsStr, "|")
..........
拔出纪录代码....
%>
  在下面这句“If (CStr(Request("MM_insert")) = "form1") Then”上面输出以下代码:
if request.Form("uers")="" then
response.write"对不起!请输出用户名!请<a href='untitled-5.asp'>前往!</a>"
response.end
elseif request.form("pws")="" then
response.write"对不起!请输出暗码!请<a href='untitled-5.asp'>前往!</a>"
response.end
elseif request.form("pws2")="" then
response.write"对不起!请输出反复暗码!请<a href='untitled-5.asp'>前往!</a>"
response.end
elseif request.form("pws")<>request.form("pws2") then
response.write"对不起!两输出的暗码不符合!请<a href='untitled-5.asp'>前往!</a>"
response.end
end if
形如:
If (CStr(Request("MM_insert")) = "form1") Then
'手写代码始
if request.Form("uers")="" then
response.write"对不起!请输出用户名!请<a href='untitled-5.asp'>前往!</a>"
response.end
elseif request.form("pws")="" then
response.write"对不起!请输出暗码!请<a href='untitled-5.asp'>前往!</a>"
response.end
elseif request.form("pws2")="" then
response.write"对不起!请输出反复暗码!请<a href='untitled-5.asp'>前往!</a>"
response.end
elseif request.form("pws")<>request.form("pws2") then
response.write"对不起!两输出的暗码不符合!请<a href='untitled-5.asp'>前往!</a>"
response.end
end if'手写代码停止
MM_editConnection = MM_new_STRING
MM_editTable = "use"
MM_editRedirectUrl = ""
MM_fieldsStr = "uers|value|pws|value"
MM_columnsStr = "Cuse|',none,''|pws|',none,''"
  本例中,除request对象外,咱们用到了response对象的write办法输入提醒信息,和end办法来停止剧本履行,禁止response.end今后的代码持续履行,如许就轮不到数据拔出那一段代码了。
  好了,关于判别语句的引见就到这儿了,你可要把握这点内容,在设计服装论坛时,它大有效处。
2、response对象――向客户端输入数据

  后面引见的例子有效到了Response对象的write办法向客户端输入数据和和end办法停止剧本履行。本节将具体引见它。
  response对象与request对象任务道理相反,response对象是把由request对象从客户端吸收过去的数据停止加工处置后,再把“加工“好的“制品”输入给客户端阅读器。
  response对象语法格局:
  response[(纠合)|属性|办法]
  先尝尝response对象的奇异魅力。
  1、response.write办法的利用――向直接客户端阅读器输入数据
  实例1、利用response对象向客户端输入数据信息
  新建ASP页,在<body></body>标签内输出以下语句:
  <%response.write("接待进修response对象实例!") %>
  完全代码:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无题目文档</title>
</head>
<body>
<%response.write("接待进修response对象实例!") %>
</body>
</html>

  按“F12”键尝尝,是否是把文字显示出来?
  response.writ办法还可以输入字串的了局或函数,假如是变量的话,就要先界说和赋值。response.write可输入HTML尺度格局代码。
  实例2、利用response.write输入以后体系工夫及HTML超链接
  在新建文件的<body>和</body>标签间输出上面代码:
<p>
<%response.write (now()) %>
</p>
<p>
<% response.write("<a href='index.asp'>翻开主页</a>")%>
  这里的<a href='index.asp'>翻开主页</a>是尺度的HTML格局,不外'index.asp'用的是单引号,以免与ASP剧本抵触搅浑。
  按“F12”尝尝后果。
  注:经常使用的工夫函数:
now()                    获得以后体系日期和工夫,ASP输入可以如许写:<%=now()%>
Year(now())         获得年份, ASP输入:<%=Year(now())%>
Month(now())       获得以后月份,ASP输入:<%=Month(now())%>
day(now())           获得当天数,ASP输入:<%=day(now())%>
Minute(now())      获得分钟数,ASP输入:<%=Minute(now())%>
Second(now())     获得秒钟数,ASP输入:<%=Second(now())%>
date()                   获得以后体系日期,格局为:2004-2-28
time()                  获得以后体系工夫,格局为:22:24:59
  用response.write办法输入字符串信息时,“()”纠合内必需在英文体例下的一对“""”双引号。假如是函数和数字类数据就不必了,如:
  文本字符串输入:<% response.write ("输入文本信息")%>   
  函数输入:<% response.write (now())%>   
  数字输入:<% response.write (1142568147)%>
  还可用“&”来准确辨别数字或函数和文本夹杂输入:
  <% yy="这里输入变量的值了"'赋值给变量“yy”,假如是文本加“""”
response.write ( now()&"  这儿输入文本"&"  "&yy ) %>
  2、response.redirect办法――链接到新网址
  假如但愿用户能在阅读器链接到别的一个网址的话,response.redirect办法可完成此功效。或许有些伴侣会想到用js代码也能完成这个功效呀!不外,咱们是在办事器端履行的,不受客户端阅读器版本影响。
  实例3、“友谊链接”的页面
  新建一个ASP页,拔出表单、列表/菜单、按扭,表双方法为“GET”,“列表/菜单”称号为“url”,“方针”为“_blank”,举措选择它本人。以下图:



  列表/菜单的值和标签以下:





  在<html>标签上方输出以下代码:
<% select case request.QueryString("url")
case "1"
response.Redirect("http://www.163.com")
case "2"
response.Redirect("http://www.sina.com")
case "3"
response.Redirect("http://www.sohu.com")
case "4"
response.Redirect("http://www.6to23.com")
end select
%>

  完全的代码以下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<% select case request.QueryString("url")
case "1"
response.Redirect("http://www.163.com")
case "2"
response.Redirect("http://www.sina.com")
case "3"
response.Redirect("http://www.sohu.com")
case "4"
response.Redirect("http://www.6to23.com")
end select
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无题目文档</title>
</head>
<body>
<form action="Untitled-6.asp" method="get" name="form1" target="_blank">
<select name="url" id="url">
<option value="1">网易</option>
<option value="2">新浪</option>
<option value="3">搜狐</option>
<option value="4">中国粹生网</option>
</select>
<input type="submit" name="Submit" value="提交">
</form>
</body>
</html>
  按“F12”键,选择你想去的网站吧!
  3、使response.write办法完成轮回输入
  这里要触及到一个VBScript剧本言语,很复杂的,却很有效,今后咱们要做纪录集分页的时分,要用到它。
  for...next轮回语句布局:
  for 变量=肇端值 to 终值 step 步长值
  轮回体
  next
  上面做一个小例子:
  实例5、轮回输入字符数
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无题目文档</title>
</head>
<body>
<% for y=1 to 50%>
<%response.Write("字") %>
<%next%>
</body>
</html>

  按“F12”键预览,履行了局以下:



  可见,它把一个字反复50次后输入,假如没有设置步长值,将按默许值(为1)处置。设置步长值:
<% for y=1 to 50 step 2%>
<%response.write(y)%>
<%next%>
  履行了局以下:



  可见,输入是以“2”为步进的。
  还可以改:
  <%response.Write("字") %>
  为:
  <%response.write(y)%>

  看看履行了局以下:



  它把从“1”入手下手轮回以1为步进值输入直至“50”终始。
  咱们就只先学这个轮回语句。还有其它的do...loop、do while...loop、do until...loop、while...wend轮回布局这里就不讲了,或许咱们临时会用不得手工接触这些器材。
  4、response对象属性
  response对象有上司性:
    <LI class=pg23>buffer 办事器缓冲。 <LI class=pg23>charset 将字符纠合称号附加到response对象中的content-type题目的前面。 <LI class=pg23>contenttype  指定办事器呼应的HTTP内容类型。 <LI class=pg23>expires          指定在阅读器上缓冲存储页面过时工夫。
  • expiresabsolute  指定在阅读器上缓冲存储页面切实其实切到期工夫。
  response对象办法:
    <LI class=pg23>write 向客户端直接输入信息。 <LI class=pg23>redirect  转向地址。 <LI class=pg23>end        中断法式履行。 <LI class=pg23>flush   用于当即发送办事器缓冲区中的输入,必需设置response.buffer=true,不然报错。
  • clear排除办事器缓冲区中的一切HTML输入。
  response纠合:

  • cookies  用于设置cookie的值。
  response.cookies纠合语法格局:
  response.cookies(变量称号)[(key)|属性]=等于写入的信息
  “变量称号”则是指定cookies的称号,以便页面可以读取分歧的cookies里的数据。
3、session对象――办事器特定用户会话

  “session”对象在DW MX的匡助文档中称为“阶段变量”,当咱们在页面拔出“上岸用户”和“限制对页的会见”办事器行动后,它就是使用session对象来辨认用户是不是上岸。当创立该会话后,办事器对该页面停止跟踪,并分派内存存储session会话信息。session会话信息只要创立它的用户才干看到。
  实例1、利用request.form办法将信息存储在session会话中
  新建ASP页,在<HTML>标签上方输出这句代码:
  <%session("MM")=request.Form("y")%>
  在<body>和</body>间输出以下代码:
<form action="Untitled-6.asp" method="post" name="form1">
<select name="y" id="y">
<option value="网易">网易</option>
<option value="新浪">新浪</option>
<option value="搜狐">搜狐</option>
<option value="中国粹生网">中国粹生网</option>
</select>
<input type="submit" name="Submit" value="提交">
</form>
<p><%= Session("MM") %></p>

  个中,<%= Session("MM") %>为读取session变量的值显示在页面上。
  按“F12”键预览履行了局。
  假如用request.QueryString办法数数据存储于session对象中的话,将<%session("MM")=request.Form("y")%>
  改成:
  <%session("MM")=request.QueryString("y")%>
  便可。
  1、session.adandon办法
  session对象只要一个办法,即abandon办法,它的感化是删除一切存储在session对象的数据,并释访这些资本。假如未明白地挪用adandon办法,当会话超时(IIS办事器默许超不时间为900秒,这由空间办事器商决意),办事器将删除这些会话,以释放资本。
  语法以下:
  <%session.adandon%>
  DW MX的“刊出用户”代码分析
<%
' *** Logout the current user.
MM_logoutRedirectPage = "index.asp"
Session.Contents.Remove("MM_Username")
Session.Contents.Remove("MM_UserAuthorization")
If (MM_logoutRedirectPage <> "") Then Response.Redirect(MM_logoutRedirectPage)
%>

  这段代码中就利用到的是Session.Contents.Remove属性来指定要删除的某个session变量,假如不指定“Contents.Remove”而利用“adandon”的话,它会把该页面创立的一切会话删除,但有时咱们只需求删除个中一个或几个会话,而保存其它的会话形态。
  删除多个会话:
Session.Contents.Remove("MM_Username")
Session.Contents.Remove("MM_UserAuthorization")
...
  上面是DW MX的“限制对页的会见”办事器行动生成的代码:
<%
' *** Restrict Access To Page: Grant or deny access to this page
MM_authorizedUsers=""
MM_authFailedURL="yesno.asp"
MM_grantAccess=false
If Session("MM_Username") <> "" Then
If (true Or CStr(Session("MM_UserAuthorization"))="") Or _
(InStr(1,MM_authorizedUsers,Session("MM_UserAuthorization"))>=1) Then
MM_grantAccess = true
End If
End If
If Not MM_grantAccess Then
MM_qsChar = "?"
If (InStr(1,MM_authFailedURL,"?") >= 1) Then MM_qsChar = "&"
MM_referrer = Request.ServerVariables("URL")
if (Len(Request.QueryString()) > 0) Then MM_referrer = MM_referrer & "?" & Request.QueryString()
MM_authFailedURL = MM_authFailedURL & MM_qsChar & "accessdenied=" & Server.URLEncode(MM_referrer)
Response.Redirect(MM_authFailedURL)
End If
%>

  个中这句“If Session("MM_Username") <> "" Then”就是用来判别“MM_Username”会话变量是不是有值,不然由“Response.Redirect(MM_authFailedURL)”转向失足页。
  其实咱们可以写个更复杂的:
<% if session("MM_Uesrname")="" then
response.Redirect("失足页.asp")
response.end
end if
%>

  该段代码判别“MM_Uesrname”session变量是不是为空,是的话,用response.Redirect("失足页.asp")办法将用户带到“失足页.asp”,并用response.end办法来停上一切剧本处置,所以这段代码最好放在页面头部。
  也能够把
  response.Redirect("index.asp")
  改成:
  response.write("对不起!请上岸!")
  如许直接在统一个页面完成毛病提醒,不必那末的页转来转去,以便于站点文件办理。
  好了,假如能纯熟地利用以上三个ASP内建的根基对象,就能够对DW MX的办事器行动停止修正,到达咱们的目标。还有其它的一些对象这里就不讲了,由于DW MX的办事器行动能为咱们生成这些代码,不用你从头至尾把ASP学个底朝天一样可以编出纷歧般的法式来。
上一页

想法是和程序员的想法不一样的.至于为什么.大家去想一想.跟心理学有关的
蒙在股里 该用户已被删除
沙发
发表于 2015-2-3 23:36:30 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
不帅 该用户已被删除
板凳
发表于 2015-2-9 06:51:06 | 只看该作者
他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。
金色的骷髅 该用户已被删除
地板
发表于 2015-2-16 23:37:30 | 只看该作者
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
只想知道 该用户已被删除
5#
发表于 2015-2-25 21:55:02 | 只看该作者
多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
谁可相欹 该用户已被删除
6#
发表于 2015-3-1 11:42:17 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
飘灵儿 该用户已被删除
7#
发表于 2015-3-1 15:53:42 | 只看该作者
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。
因胸联盟 该用户已被删除
8#
发表于 2015-3-8 17:31:16 | 只看该作者
我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
飘飘悠悠 该用户已被删除
9#
发表于 2015-3-11 16:34:32 | 只看该作者
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
第二个灵魂 该用户已被删除
10#
发表于 2015-3-12 14:57:55 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
冷月葬花魂 该用户已被删除
11#
发表于 2015-3-14 07:03:19 | 只看该作者
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
简单生活 该用户已被删除
12#
发表于 2015-3-21 00:43:00 | 只看该作者
ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。
再见西城 该用户已被删除
13#
发表于 2015-4-3 21:10:19 | 只看该作者
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
愤怒的大鸟 该用户已被删除
14#
发表于 2015-4-10 09:11:39 | 只看该作者
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
老尸 该用户已被删除
15#
发表于 2015-4-10 18:43:12 | 只看该作者
运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。
活着的死人 该用户已被删除
16#
发表于 2015-4-12 14:53:43 | 只看该作者
接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。
透明 该用户已被删除
17#
发表于 2015-4-18 16:16:10 | 只看该作者
我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
若相依 该用户已被删除
18#
发表于 2015-4-23 02:07:04 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
深爱那片海 该用户已被删除
19#
发表于 2015-4-25 22:58:34 | 只看该作者
掌握asp的特性而且一定要知道为什么。
分手快乐 该用户已被删除
20#
发表于 2015-5-1 04:11:12 | 只看该作者
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 00:17

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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