山云文库
当前位置:首页 » 十天学会ASP » 正文

十天学会ASP

2012-02-12 17:13:16

十天学会asp.net
十天学会asp.net十天学会ASP十天学会易语言十天学会div+css

菜鸟十天学会 ASP 教程 装置调试 ASP 的环境 学习目的: 学习目的:装置调试 ASP 的环境,同时调试第一个简明的次第。

由于我们学 ASP 的目的一定是想树立一个网站,那样平常习气是树立的网站内全部文件 应该同时放到一个文件夹中(固然那个文件夹中还能够按需求设置子文件夹!),因此在那个地点 我在 E 盘树立一个 myweb 的文件夹。

首先来装置 Windows 2000/XP 自带的 IIS 作为效劳器。

在那个地点由于我的机械是 XP 因此全部截图基本上 XP 下完成的。

操作面板-->>添加或删除次第。

接着是添加删除 windows 组件-选中 IIS 组件前面的勾,之后等待装置,那个地点能够观 看本站平常给大伙儿做的视频教程,完成装置后。

视频教程 视频教程

之后在操作面板中双击“管理工具”。

接着双击“internet 信息效劳”,这一定是 IIS。

抉择“默许网站”,接着右键属性或许直截了当按快捷键在属性页面内只好三个页面需求修正,先是网站,假设用户有固定 IP,能够安排一个 I P接上去在注主名目中抉择一个自己硬盘下面的文件夹存放网站(那个名目一定是我们下面 说的在 e 盘树立的名目),选中读取、写入

在文档中添加默许的页面,比如打 www.jzxue.com 网页教学网一定是调用了一个默许 文档。

接上去也是最要紧的: 1、在刚才你定义的一个文件夹外头新建一个文件,能够用记事本树立一个文本文件然 后把下面的内容复制到记事本中: 保管为 1.asp 文件(留意: .asp 不能省略啊, 假设省略了你就保管了一个文本文件了)。

最终来翻开 IE,在地址栏内输入:http://127.0.0.1/1.asp(或许 http://localhost/1. asp)回车后就能够看到成效了。

最终来讲解一下代码的寓意。

response.write 一定是显示的意义,左右的 是 asp 的标志符号,在这外头的信息都由 效劳器处置。

127.0.0.1 是地址,1.asp 是文件名。

第一天就完毕了 表单传送变量 学习目的: 学习目的:学会用表单元素向效劳器传送变量,接着显示变量在客户端的扫瞄器。

首先,让我们来看一下表单元素。

表单元素要放在一个表单域外头, 树立一个表单域。

接着修正举措外头的文件为要接纳 那个表单变量的 ASP 文件。

办法有两种,一种是 POST,那个办法传送的变量不或许在扫瞄 器的地址栏外头显示,能够大批量传送数据;GET 则是会在扫瞄器地址栏外头显示的,等 一会举例子。

下面我们看一个表单元素。

文本域,那个是最差不多的,传送的是文本信息,平常用户名,密码都要用那个传送,不 过假设密码的话要在类型外头抉择密码,如此就会以*替代显示出来的字符,文本域的名字 格外严重,以来会用到那个名字因此平常不用默许的名字。

如今举一个例子:假设文本域的名字是 name 的话,用来传送网上用户注销的名字, 在表单域外头,传送到 reg.asp,用 POST 办法,那样在 reg.asp 外头如此失掉变量<%n ame=request.form("name")%>假设要显示变量再家加一句,response.write nam e,如此就构成了一个从客户端到扫瞄器再回到客户端的进程。

假设办法用的是 GET 的话, 那样就改为 name=request.querystring("name")实践上两者能够一致为 name=requ est("name")。

下面看看按钮,按钮外头无非两种,一种是提交表单的按钮,一种是从头 输入的按钮。

单选按钮,一个按钮有一个值。

在列表外头异样,添加列表选项和值。

下面举 一个例子,实践上各种表单元素基本上差不多的。

下面是详细的代码: (注:把下面代码保管为一个.htm 的文件就能够了.我保管的 1. htm)

姓名: //文本域,名字叫 name
密码: //文本域,用来输入密码,名字叫 psw

性别:

//单选,名字叫 sex,数值是"男" 男 //单选,名字叫 sex,数值是"女" 女

都市:
//提交按钮

下面是 reg.asp 的代码,用来显示出刚才遭到的信息:<% name=request.form("name") psw=request.form("psw") sex=request.form("sex") city=request.form("city") response.write name response.write psw response.write sex response.write city %>翻开扫瞄器在地址栏内输入:http://localhost/1.htm 如下图: (呵呵,由因此练习, 我没有美化页面啊!)

输入信息提交之后:

下面我们要末尾学数据库了!只需把表单和数据库相应的字段衔接上就能够了。

数据库的树立 学习目的: 学习目的:学会 ACCEES 数据库的运用。

首先,要装置 OFFICE 外头的 ACCEES(我的演示是 OFFICE 2003 版本),装置过 程那个地点就不说了,装置好以来会,翻开 Access.按空数据库,新建一个数据库,文件名字 能够叫 guestbook.mdb。

(提示:为了安全时期,文件名复杂一点好,由于 ACCESS 数 据库能够被下载的!!)运用设计器创立新的表,一个数据库 MDB 文件外头能够树立多个表。

双击“运用设计 器创立表”

填写字段名字接着抉择字段类型,一条记载能够有格外多字段,能够有格外多字段类型,字 段大小的意义一定是那个字段最多能够容纳的字符数,当那个字段没有任何信息是,ACCEE S 会用默许值替代(没有任何信息不是空的意义),平常必填字段和赞同空字符串分手设置 为否、是,以预防出错依照上图分手树立几个字段,在时刻中默许值为=now()一定是那个字段不需求填写,系 统直截了当以往后时刻替代。

因此的字段都树立以来,封锁那个窗口,按提示保管表,输入表的名字 guest,最终来出 现下图的提示,抉择是,主键是记载的标识,为了以来简明,大伙儿能够把编号改为 ID,还 有在 ACCEES 外头尽可能不要用中文显示字段名字最终来,双击翻开那个表,观看表外头的记载

数据库的衔接和读取 学习目的: 学习目的:掌握 ACCESS 数据库的衔接和读取记载 首先还翻开我们上一节课树立的数据库中的表,随意输入几条记载,如下图:这节课学习的内容有一点单调,但是格外严重。

在那个地点不需求了解命令详细的运转状况, 外头的格外多书籍之因此不合适入门一定是由于讲解了太多的实际学咨询,让初学者一头雾水。

下面开门见山,看两行代码:<% set conn=server.createobject("adodb.connection") conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath ("data/guestbook.mdb") %>第一行定义了一个 adodb 数据库衔接组件,第二行衔接了数据库,大伙儿只需修正前面 的数据库名字就能够了。

是不是格外简明? 下面再看三行:

<% exec="select * from guest" set rs=server.createobject("adodb.recordset") rs.open exec,conn,1,1 %>这三行加在前面两行的前面,第一句:设置查询数据库的命令,select 前面加的是字 段,假设都要查询的话就用*,from 前面再加上表的名字,我们前面树立的是不是一个 gu st 表阿?第二句:定义一个记载集组件,全部搜寻到的记载都放在这外头,第三句是翻开 那个记载集,exec 一定是前面定义的查询命令,conn 一定是前面定义的数据库衔接组件,后 面参数“1,1”,这是读取,前面讲到修正记载就把参数设置为 1,3,好了接上去我们读取 记载。

<%do while not rs.eof%><% rs.movenext loop %>
<%=rs("name")%> <%=rs("tel")%> <%=rs("message")%> <%=rs("time")%>
//下面的三条语句是用于封锁数据库 rs.close set rs=nothing conn.close set conn=nothing在一个表格中,我们用 4 列分手显示了上次树立的表外头的四个字段,用 do 循环,n ot rs.eof 的意义是条件为没有读到记载集的最终来,rs.movenext 的意义是显示完一条转 到下面一条记载,<%=%>就等于<%response.write%>用于在 html 代码外头拔出 a sp 代码,要紧用于显示变量。

把下面三段代码依次复制粘贴到剪贴板中,一定要按顺序复制粘贴啊!,接着保管为 d uqu.asp 就能够了!翻开扫瞄器,在地址栏内输入:http://localhost/duqu.asp. 下面是我机械下面的结果图片。

写入记载 学习目的:学会数据库的差不多操作--写入记载 数据库的差不多操作无非是:查询记载,写入记载,删除记载,修正记载。

改日我们先学习写入记载。

先树立一个表单:(把下面文章保管为 5.htm)

name
tel
message
表单提交到 exa5.asp,下面是 exa5.asp 的代码: (把下面代码保管为 5.asp)<% set conn=server.createobject("adodb.connection") conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath ("data/guestbook.mdb") name=request.form("name") tel=request.form("tel") message=request.form("message") exec="insert into guest(name,tel,message)values('"+name+"',"+tel+",'"+mes sage+"')" conn.execute exec conn.close set conn=nothing response.write "记载添加成功!" %>

在那个地点前面两句我不说了, 前面三句我也不说了, 前面说过 exec 外头的是实行的命令, 添加记载的比拟繁,大伙儿要仔细看。

insert into 前面加的是表的名字,前面的括号外头是需求添加的字段,不用添加的或 者字段的内容一定是默许值的能够省略。

留意,那个地点的变量一定要和 ACCESS 外头的字段名 对应,否则就会出错。

values 前面加的是传送过去的变量。

exec 是一个字符串,"insert into guest(name,tel,message)values('"是第一段,在 ASP 外头不能嵌双引号,因此 能够用'替代双引号,放在双引号外头,衔接两个变量用+或许&因此"',"又是一段,中间夹 了一个 name 一定是表单传来的变量, 如此就能够在那个变量外头加两个'', 显示是字符串了, 前面的 tel 是数字型变量因此不需求外头包围'',大伙儿慢慢分析这句话,假设用表单传来的 数据替代变量名字的话这句话为(假定 name="aaa",tel=111,message="bbb"):"i nsert into guest(name,tel,message)values('aaa',111,'bbb')"。

接上去的 conn.execute 一定是实行那个 exec 命令,最终来别遗忘把翻开的数据库封锁, 把定义的组件设置为空,如此能够前往资源。

下面几条语句用于封锁数据库的代码:rs.close set rs=nothing conn.close set conn=nothing记住,次第不能够颠倒! 能够到数据库外头去看一看,或许用 duqu.asp 读取看看是 不是多了记载阿?下面是我应用上一节的文件读取数据库的图:

查询记载 学习目的: 学习目的:学会数据库的差不多操作--查询记载 在第四天中我们用到下面如此一个次第:<% set conn=server.createobject("adodb.connection") conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath ("data/guestbook.mdb") exec="select * from guest" set rs=server.createobject("adodb.recordset") rs.open exec,conn,1,1 %>我们查询的是全部的记载,但是我们要修正、删除记载的时辰不能够是全部记载,全部 我们要学习检索合适的记载。

先看一条语句:a="aaa" b=1111110 exec="select * from guestbook where name='"+a+"'and tel="+b

where 前面加上的是条件,与是 and,或是 or,我想=,<=,>=,<,>的寓意大 家都了解吧。

这句话的意义一定是搜寻 name 是“aaa”的,同时电话是“1111110”的记载。

还有一点一定是假设要搜寻一个字段外头是不是包括一个字符串就能够那样写:where inst r(name,a)也一定是搜寻 name 外头有 a(aaa)那个字符串的人。

我那个地点的 a,b,是常量,大伙儿能够让 a,b 是表单提交过去的变量,如此就能够做一个搜 索了。

下面大伙儿看看那个代码,了解一下:(把下面代码存为 6.htm 文件)

搜寻:
name = and tel=
exam6.asp(把下面代码存为 exam6.asp)<% name=request.form("name") tel=request.form("tel") set conn=server.createobject("adodb.connection") conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath ("data/guestbook.mdb") exec="select * from guest where name='"+name+"' and tel="+tel set rs=server.createobject("adodb.recordset") rs.open exec,conn,1,1 %> 无标题文档 <% do while not rs.eof %>

<% rs.movenext loop %>
<%=rs("name")%> <%=rs("tel")%> <%=rs("message")%> <%=rs("time")%>
首先在扫瞄器中输入 http://localhost/6.htm 如下图所示:输入数据库中已有的姓名和电话 aaa,1111110,单击提交,结果如下图所示:

删除记载 学习目的: 学习目的:学会数据库的差不多操作--删除记载 开门见山,大伙儿直截了当看次第。

exec="delete * from guest where id="&request.form("id")下面这句话完成了删除记载的操作,只是锁定记任用了记载唯独的显示 id,我们前面 树立数据库的时辰用的是系统给我们的主键,名字是编号,由因此中文的名字不是格外便利, 大伙儿能够修正为 id,我曾经修正了啊!不修正的话一定是用下面的代码了:exec="delete * from guestbook where 编号="&request.form("id")下面我们看完整的代码:一个表单传给 ASP 文件一个 ID,接着那个 ASP 文件就删除 了那个 ID。

7.htm: :

请输入删除的 ID 号:
exam7.asp:(能够先运转那个文件看一下全部记载的 ID 和想删除记载的 ID,删除 : 记载以来也能够经过那个文件复查。

)<% set conn=server.createobject("adodb.connection") conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath ("data/guestbook.mdb")

exec="select * from guest" set rs=server.createobject("adodb.recordset") rs.open exec,conn,1,1 %> 无标题文档

<% do while not rs.eof %> <% rs.movenext loop %>
<%=rs("id")%> <%=rs("name")%> <%=rs("tel")%> <%=rs("message")%> <%=rs("time")%>

修正记载 学习目的: 学习目的:学会数据库的差不多操作--修正记载 先来看代码:(存为 exam8.asp 就能够了)<% set conn=server.createobject("adodb.connection") conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath ("data/guestbook.mdb") exec="select * from guest where id="&request.form("id") set rs=server.createobject("adodb.recordset") rs.open exec,conn %>

name tel message
"> "> "> ">
<% rs.close set rs=nothing conn.close set conn=nothing %>到如今应该分析那个代码没有啥成绩了吧,那个代码的作用是接纳前面一个页面的 I D 接着显示这条记载, 文本框即是输入的中央也是显示的中央, 假设需求修正的话修正以来 按提交;假设不需求修正就能够直截了当按提交按钮。

在那个地点由于本教程合适初学的,因此也把提交的表单内容给出来,把下面代码存为 8. htm 文件

请输入要修正的记载的 ID:
那个地点还有一个东西平常没有说,那一定是隐蔽的表单元素:hidden 元素,外头的 value 是不 用用户输入的,会随着表单一齐提交,用于传递变量。

下面是 modifysave.asp 的代码:<% set conn=server.createobject("adodb.connection") conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath ("data/guestbook.mdb") exec="select * from guest where id="&request.form("id") set rs=server.createobject("adodb.recordset") rs.open exec,conn,1,3 rs("name")=request.form("name") rs("tel")=request.form("tel")

rs("message")=request.form("message") rs.update rs.close set rs=nothing conn.close set conn=nothing %>在那个地点,rs.open exec,conn,1,3 前面的参数是 1,3,这我平常提过,修正记载就 要用 1,3。

实践上修正记载格外复杂看懂,记载集是 rs,rs("aa")一定是往后记载 aa 字段的 东西,让它等于新的数据 request.form("aa")固然就修正了,只是最终来别遗忘保管,那就 是 rs.update! 说到那个地点,记载的搜寻,读取,修正,拔出都说了,经过这最差不多的东西就能够作出复 杂的东西了,外头的大型数据库:旧事系统,留言簿一定是字段多一点罢了。

改日的示例中的 代码是结合平常的数据库的,以来回去调试分析一下。

大伙儿测试的流程:首先运转 8.htm 文件单击提交后,在下图中修正记载修正后单击提交,如下图,阐明曾经修正成功

能够应用平常的 duqu.asp 来显示能否曾经成功修正Session 组件 学习目的: 学习目的:差不多的 SESSION 组件,总结 response,request 组件。

首先, 有会员系统的任何次第都会用到检测是不是用户曾经登陆那个步骤。

这就用到了 SESSION 组件,下面我们 看一个代码来阐明。

<% session("login")="yes" %>这句话的意义一定是在 session 外头定义一个 login 字符串变量,值为"yes",直截了当能够 赋值,不需求声明。

是不是格外简明? 假设我们做管理员登陆系统的话,首先是一段检测是不是管理员:if 是 then session("isadmin")=yes" else session("isadmin")="no" end if

在每一个需求管理员才干看的页面最前面加上:<% if not session("isaadmin")="yes" then response.redirect "login.htm" %>如此平常用户就无法翻开那个页面。

讲解一下 response.redirect,它是转向的意义, 前面的"login.htm"一定是转向的文件。

如此没有登陆的管理员是无法看到前面的内容的。

response 组件差不多一定是用到 response.write(),response.redirect() 分手是写字 符串和转向的作用。

request 差不多一定是 request.form(),request.querystring() 分手是接纳 post,get 办法传来的信息。

最终来我们一齐来制造一个简明的后台登陆管理界面, 首先在 myweb 名目下树立一个 a dmin 文件夹,接着我们树立一个数据库名字为 admin.mdb,接着我们再树立一个表,表 中设置两个字段 name,password,类型基本上文本型的!最终来参加时设置主键,保管为表 名 check。

接着能够输入一条记任用户名:admin,密码:admin。

详细树立数据库的方 教程之第三天 数据库的树立》 之第三天: 法请看《菜鸟十天学会 ASP 教程之第三天:数据库的树立 菜鸟十天学会 下面我们末尾编篡 ASP 次第, 首先树立一个 index.asp(管理主界面)次第, 代码如下:<%@language=vbscript%> <%if not session("checked")="yes" then response.Redirect "login.asp" else %> 管理界面 <body bgcolor="#FFFFFF" text="#000000"> </body>

<%end if%>在下面的代码中,大伙儿能够看到用到 login.asp,left.asp,right.asp 次第 login.asp://登陆系统次第 : 管理员入口 border: 1pt #999999 solid; height: 15pt}

 
 
class="text" size="20"
管理员入口

管理员:
密 码: <%if session("check")="wrong" then response. Write "
验证错误!" end if%>
 
 

在下面的次第中用到一个检验用户和密码能否准确的次第 check.asp://核对输入的 : 用户和密码能否准确<% dim name,password name=request.form("name") password=request.form("password") dim exec,conn,rs exec="select *from check where(name='"&name&"' and password='"&password&"')" set conn=server.createobject("adodb.connection") conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("adm in.mdb") set rs=server.createobject("adodb.recordset") rs.open exec,conn if not rs.eof then rs.Close conn.Close session("checked")="yes" session("check")="right" response.Redirect "index.asp" else session("checked")="no" session("check")="wrong" response.Redirect "login.asp" end if %>left.asp://管理导航 :<%@language=vbscript%> <%if not session("checked")="yes" then response.Redirect "login.asp" else %> 管理界面

<%end if%>exit.asp://参加系统 :<%@language=vbscript%> <% session("check")="" session("checked")="" response.redirect "login.asp" %>right.asp://详细管理的内容 :<%@language=vbscript%> <%if not session("checked")="yes" then response.Redirect "login.asp" else %> 管理界面 那个地点是网页教学网的管理系统示例!请大伙儿多追求运用! <%end if%>运转时首先运转 index.asp 次第,运转成效部分截图如下:

分页技术 学习目的: 学习目的:分页技术 改日最终来一天我们学习一下 ASP 外头稍微难一点地分页技术,终究当我们有 N 条记载 的时辰我们不能够把全部记载显示在一个页面外头吧。

<% exec="select * from test" set rs=server.createobject("adodb.recordset") rs.open exec,conn,1,1 rs.PageSize=3 pagecount=rs.PageCount page=int(request.QueryString ("page")) if page<=0 then page=1 if request.QueryString("page")="" then page=1 rs.AbsolutePage=page %>rs.pagesize 设置一个页面外头显示的记载数,pagecount 是我们自己定义的一个变 量,rs.pagecount 是记载的个数,page 也是我们自己定义的一个变量,我们下一页的链 接能够设置为 list.asp?page=<%=page+1%>,下一页的链接能够设置为 list.asp?pa ge=<%=page-1%>,如此当按下链接的时辰调用页面自己,page 那个变量就+1 或许 -1 了,最终来我们让 rs.absolutepage(往后页面)为第 page 页就能够了。

if request.QueryString("page")="" then page=1,这句话的作用一定是我们翻开 list.asp 的时辰没有尾随 page 变量,自动设置为 page=1,预防出错,还有当我们 if....t hen...放在一行的时辰 end if 能够省略。

是不是分页也不难? 下面说一种特殊状况:if page=1 and not page=pagecount,那个时辰没有上一页,但是有下一页 elseif page=pagecount and not page=1,那个时辰没有下一页,但是有上一页 elseif page<1,那个时辰没有任何记载 elseif page>pagecount then,那个时辰没有任何记载 elseif page=1 and page=pagecount,那个时辰没有上一页,没有下一页 else,那个时辰有上一页,也有下一页。

下面看一段显示 1 到 n 页, 且每一个数字点击以来就浮现那个数在代表的页面的代码, 格外罕见哦。

<%for i=1 to pagecount%> <%=i%>" title=""><%=i%>" target="_blank">"><%=i%><%next%>for....next 是循环从 i=1 末尾,循环一次加 1 到 pagecount 为止。

最终来我的实例外头包括了一个最简明的 ASP 次第,但是功用样样有,是 ASP 的精髓, 每一个 ASP 大型次第都包括了它。

add.htm 添加记载页面 add.asp 添加记载操作 conn.asp 数据库链接 del.asp 删除记载操作 modify.asp 修正记载页面 modifysave.asp 修正记载操作 list.asp 那个是那个次第的中心,经过那个页面完成记载的添加、修正、删除。

test.mdb 数据库,外头有 aa,bb 两个字段:aa 数字型只能接纳数字,bb 是字符型。

最终来我想说一句,那个实例是 ASP 的精髓,一定要好好追求,懂了那个次第,你会发 现你曾经会 ASP 了。

最终来给大伙儿提供一个源次第,点击那个地点能够下载 最终来给大伙儿提供一个源次第, 最终来给大伙儿提供一个源次第 教程全部完毕,希冀大伙儿承袭关心本站!支援本站,关心本站宣传!!感谢,希冀有能 力的好友把我下面的教程或本站中的教程完成视频教程!感谢!我们的网址是 http://ww w.jzxue.com