asp语法教程_如何编程

asp语法教程_如何编程ASP编程基本语句(一)Access+asp编制网站是属于动态网站,是通过把要编制的内容写入数据库里,在通过读取数据库的内容显示出来,学习目的:学会数据库的基本操作。数据库的基本操作无非是:查询记

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

ASP编程基本语句(一)

 

  

 

Access + asp编制网站是属于动态网站,是通过把要编制的内容写入数据库里,在通过读取数据库的内容显示出来,学习目的:学会数据库的基本操作。数据库的基本操作无非是:查询记录,写入记录,删除记录,修改记录。如下图

ASP编程基本语句

 

数据库名称:data.mdb

数据表名称:lmnr 

字段: id  (主键)    bt  (文本)  name  (文本)  content (备注)

ASP编程基本语句

 

一,掌握ACCESS数据库的连接

<%

set conn=server.createobject(“adodb.connection”) ‘adodb数据库连接组件

conn.open “driver={microsoft access driver (*.mdb)};dbq=”&server.mappath(“data.mdb”)

%>

大家只要修改后面的data.mdb数据库名字和路径就可以了,例如数据库放在一个data文件夹里,那么就把 data.mdb 改成 data/data.mdb 如果你页面是放在文件夹里,那么就把data.mdb 改成 ../ data/data.mdb

可以把上述代码放在 conn.asp 里 使用时用服务器端包括连接就可以了

二,记录集查询

1,  用于 筛选无,排序 id  降序,限制重复10条信息记录集查询

<%

Set rs= Server.CreateObject (“ADODB.Recordset”)

sql = “Select top 10 * from  lmnr  ORDER BY  id  DESC “

rs.Open sql,conn,1,1

%>

其中: rs 是记录集名称,在一个页面有多个记录集查询,记录集名称不要一样

       top 10 是限制重复显示10条信息,取消 top 10  就是不限制

lmnr 是数据表名称

       DESC 是排列降序,升序 把 DESC 改为 ASC

2,  用于 筛选id,排序 无的记录集查询

<%

exec=”select * from lmnr where id=”&request.querystring(“id”)

set rs =server.createobject(“adodb.recordset”)

rs.open exec,conn

%>

其中: rs 是记录集名称,在一个页面有多个记录集查询,记录集名称不要一样

lmnr 是数据表名称

3,  用于显示用户级别,用户名称的记录集查询(筛选 name  阶段变量Username)

<%

Dim ColParam

ColParam = “未登录”

If (Session(“Username”) <> “”) Then

ColParam = Session(“Username”)

End If

set rs =server.CreateObject(“adodb.recordset”)

sql=”select * from lmnr WHERE name = ‘” + Replace(ColParam, “‘”, “””) + “‘”

rs.open sql,conn,1,1

%>

其中: rs 是记录集名称,在一个页面有多个记录集查询,记录集名称不要一样

lmnr 是数据表名称

4,  用于 筛选id_id,排序 id  降序,的记录集查询

<%

Dim ColParam

ColParam = “1”

If (Request.QueryString(“id_id”) <> “”) Then

ColParam = Request.QueryString(“id_id”)

End If

Set rs = Server.CreateObject(“ADODB.Recordset”)

sql= “SELECT * FROM lmnr WHERE id_id = ” + Replace(ColParam, “‘”, “””) + ” ORDER BY id DESC”

rs.open sql,conn,1,3

%>

其中: rs 是记录集名称,在一个页面有多个记录集查询,记录集名称不要一样

lmnr 是数据表名称

三,写入记录 。

写入记录由2个文件组成,,htj.ap  和  htjzx.asp。

htj.ap 是通过表单,把你要写入数据库里内容,传递给htjzx.asp 做法如下:

<form name=”form1″ method=”post” action=”htjzx.asp”>

    name:<input name=”name” type=”text” id=”name”>

    bt:<input name=”bt” type=”text” id=”bt”>

    content:<textarea name=”content” id=”content”></textarea>

    <input type=”submit” name=”Submit” value=”提交”>

    <input name=”insert” type=”hidden” id=”insert” value=”form1″>

</form>

htjzx.asp 是接受htj.ap 表单传递过来的内容,添加到数据库里。做法如下:

<!–#include file=”conn.asp” –>

<%

If (CStr(Request(“insert”)) = “form1”) Then

name=request.form(“name”)

bt=request.form(“bt”)

content=request.form(“content”)

exec=”insert into lmnr(name,bt,content)values(‘”+name+”‘,'”+bt+”‘,'”+content+”‘)”

conn.execute exec

conn.close

set conn=nothing

End If

response.write(“<script>alert(‘添加成功!’);location.href=’qfz.asp'</script>”)

%>

四,读取记录(读取10条记录,用于首页分装目录)

连接数据库

<!–#include file=”conn.asp” –>

建立查询记录

<%

Set rs= Server.CreateObject (“ADODB.Recordset”)

sql = “Select top 10 * from  lmnr  ORDER BY  id  DESC “

rs.Open sql,conn,1,1

%>

插入1行3列表格

在每列里依次写入调取数据表字段  name:<%= rs(“name”) %>  bt:<%= rs(“bt”) %>  content:<%= rs(“content”) %>

在行标签 <tr> 前 写入重复开始语句

<% ‘重复开始

if rs.EOF and rs.BOF then

response.write (“暂时还没有文章”)

else

Do Until rs.EOF %>

在行标签 </tr> 后写入重复结束语句

<% ‘重复结束

rs.MoveNext

Loop

end if

%>

在代码最下面写入关闭连接语句

<% conn.close            ‘关闭连接,

set conn=nothing      ‘释放内存  这两句很重要,不然会占用大量服务器资源

%>

完成后如下面

<%@LANGUAGE=”VBSCRIPT” CODEPAGE=”936″%>

<!–#include file=”conn.asp” –>

<%

Set rs= Server.CreateObject (“ADODB.Recordset”)

sql = “Select top 10 * from  lmnr  ORDER BY  id  DESC “

rs.Open sql,conn,1,1

%>

<html>

<head>

<meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″>

<title>无标题文档</title>

</head>

 

<body>

<table width=”100%” border=”1″>

  <% ‘重复开始

if rs.EOF and rs.BOF then

response.write (“暂时还没有文章”)

else

Do Until rs.EOF %>

<tr>

    <td>name:<%= rs(“name”) %></td>

    <td>bt:<%= rs(“bt”) %></td>

    <td>content:<%= rs(“content”) %></td>

  </tr><% ‘重复结束

rs.MoveNext

Loop

end if

%>

 

</table>

</body>

</html>

<% conn.close            ‘关闭连接,

set conn=nothing      ‘释放内存  这两句很重要,不然会占用大量服务器资源

%>

ASP编程基本语句(二)

 

 

 

一,后台管理

后台管理实质是一个读取全部记录的目录页,主要是为了有针对性的修改删除记录,一个内容表里可能有很多条记录,要显示在一个页面中,这个页面就很长,不利于浏览,因此要限制一个页面显示几条,利用翻页来实现查看全部。

建立一个 hbj.asp 文件 

连接数据库

<!–#include file=”conn.asp” –>

建立查询记录

<%

set rs = server.CreateObject(“adodb.recordset”)

sql=”select * from lmnr order by id desc”

rs.CursorLocation = 3

rs.Open sql,conn,0,2,1  ‘ //(Yoko:’这里执行你查询SQL并获得结果记录集

%>

写入翻页脚本语句

<%

rs.PageSize = 1  ‘//(Yoko:这里设定每页显示的记录数

        pre = true

      last = true

      page = trim(Request.QueryString(“page”))

     

      if len(page) = 0 then

                  intpage = 1

                  pre = false

      else

          if cint(page) =< 1 then

               intpage = 1

               pre = false

          else

              if cint(page) >= rs.PageCount then

                  intpage = rs.PageCount

                  last = false

              else

                   intpage = cint(page)

             end if

         end if

      end if

    if not rs.eof then

         rs.AbsolutePage = intpage

    end if

%>

插入1行6列宽100%的表格,在1 2 3列里写入调取数据表字段  name:<%= rs(“name”) %>  bt:<%= rs(“bt”) %>  content:<%= rs(“content”) %>,在4列里写入连接添加语句<a href=”htj.asp”>添加</a>,在5列写入连接修改语句

<a href=”hxg.asp?id=<%= rs(“id”) %>”>修改</a>,在6列写入连接删除语句<a href=”hsc.asp?id=<%= rs(“id”) %>”>删除</a>

在行标签 <tr> 前 写入重复开始语句

<!–循环开始–>

 <%   

   for i=1 to rs.PageSize

     if rs.EOF or rs.BOF then exit for

  %>

在行标签 </tr> 后写入重复结束语句

  <!–循环体结束–>

  <% 

     rs.movenext

    next

   %>

在</table> 下面写入翻页语句

<!–分页部分:–>

 <table width=”99%” border=”1″ >

   <tr>

     <%if rs.pagecount > 0 then%>

     <td width=”13%” align=”left”>当前是<%=intpage%>页 / 共有<%=rs.PageCount%>页</td>

     <%else%>

    <td width=”41%” align=”left”>当前页0/0</td><%end if%>

    <td width=”46%” align=”right”> <a href=”hbj.asp?page=1″>首页</a>|

     <%if pre=true then%>

     <a href=”hbj.asp?page=<%=intpage -1%>”>上页</a>| <%end if%>

     <%if last then%>

      <a href=”hbj.asp?page=<%=intpage +1%>”>下页</a> |<%end if%>

      <a href=”hbj.asp?page=<%=rs.PageCount%>”>尾页</a>|转到第

      <select name=”sel_page” onchange=”javascript:location=this.options[this.selectedIndex].value;”>

      <%

       for i = 1 to rs.PageCount

       if i = intpage then%>

       <option value=”hbj.asp?page=<%=i%>” selected><%=i%></option>

     <%else%>

       <option value=”hbj.asp?page=<%=i%>”><%=i%></option>

        <%

          end if

        next

        %>

     </select>页</font>

    </td>

   </tr>

 </table>

在代码最下面写入关闭连接语句

<% conn.close            ‘关闭连接,

set conn=nothing      ‘释放内存  这两句很重要,不然会占用大量服务器资源

%>

二.写入记录 。

写入记录由2个文件组成,,htj.asp  和  htjzx.asp。

1,htj.ap 是通过表单,把你要写入数据库里内容,传递给htjzx.asp 做法如下:

插入表单后连续插入连续插入2个文本字段,1个文本区域和1个按钮。 分别在文本域里输入 name,bt ,content,在按钮后插入隐藏域,隐藏区域 输入insert  值里输入form1 在form 的动作里输入htjzx.asp  完成后代码如下

<form name=”form1″ method=”post” action=”htjzx.asp”>

    name:<input name=”name” type=”text” id=”name”>

    bt:<input name=”bt” type=”text” id=”bt”>

    content:<textarea name=”content” id=”content”></textarea>

    <input type=”submit” name=”Submit” value=”提交”>

    <input name=”insert” type=”hidden” id=”insert” value=”form1″>

</form>

2,htjzx.asp 是接受htj.ap 表单传递过来的内容,添加到数据库里。做法如下:

<!–#include file=”conn.asp” –>

<%

If (CStr(Request(“insert”)) = “form1”) Then

name=request.form(“name”)

bt=request.form(“bt”)

content=request.form(“content”)

exec=”insert into lmnr(name,bt,content)values(‘”+name+”‘,'”+bt+”‘,'”+content+”‘)”

conn.execute exec

conn.close

set conn=nothing

End If

response.write(“<script>alert(‘添加成功!’);location.href=’hbj.asp'</script>”)

%>

三,修改记录

修改记录由2个文件组成,,hxg.asp  和  hxgzx.asp。

1,hxg.asp是通过表单,把你要修改数据库里内容,传递给hxgzx.asp 做法如下:

连接数据库

<!–#include file=”conn.asp” –>

建立查询记录

<%

exec=”select * from lmnr where id=”&request.querystring(“id”)

set rs =server.createobject(“adodb.recordset”)

rs.open exec,conn

%>

插入表单后连续插入连续插入2个文本字段,1个文本区域和1个按钮。 分别在第1个文本字段的文本域里输入 name,初始值里输入<%= rs(“name”) %> ,在第2个文本字段的文本域里输入bt ,初始值里输入<%= rs(“bt”) %>,在第3个文本区域的文本域里输入content,初始值里输入<%= rs(“content”) %>,在按钮后插入隐藏域,隐藏区域输入id  值里输入<%=request.querystring(“id”)%> 在form 的动作里输入hxgzx.asp  完成后代码如下

<!–#include file=”conn.asp” –>

<%

exec=”select * from lmnr where id=”&request.querystring(“id”)

set rs =server.createobject(“adodb.recordset”)

rs.open exec,conn

%>

<form name=”form1″ method=”post” action=”hxgzx.asp”>

  <input name=”name” type=”text” id=”name” value=”<%= rs(“name”) %>”>

  <input name=”bt” type=”text” id=”bt” value=”<%= rs(“bt”) %>”>

    <textarea name=”content” id=”content”><%= rs(“name”) %></textarea>

<input type=”submit” name=”Submit” value=”提交”>

  <input type=”hidden” name=”id” value=”<%=request.querystring(“id”)%>” />

</form>

2,hxgzx.asp 是接受hxg.ap 表单传递过来的内容,修改数据库里的数据。做法如下:

连接数据库

<!–#include file=”conn.asp” –>

写入修改语句

<%

exec=”select * from lmnr where id=”&request.form(“id”)

set rs =server.createobject(“adodb.recordset”)

rs.open exec,conn,1,3

rs(“name”)=request.form(“name”)

rs(“bt”)=request.form(“bt”)

rs(“content”)=request.form(“content”)

rs.update

rs.close

set rs=nothing

conn.close

set conn=nothing

response.write(“<script>alert(‘修改成功!’);location.href=’hbj.asp'</script>”)

%>

四,删除记录

删除记录由2个文件组成,,hsc.asp  和  hsczx.asp。

1,hsc.asp是通过表单,把你要删除数据库里id,传递给hsczx.asp 做法如下:

连接数据库

<!–#include file=”conn.asp” –>

建立查询记录

<%

exec=”select * from lmnr where id=”&request.querystring(“id”)

set rs =server.createobject(“adodb.recordset”)

rs.open exec,conn

%>

插入表单,在表单里输入“您确定要删除<%=rs(“bt”) %>吗?”后插入按钮,在按钮后插入隐藏域,隐藏区域 输入id  值里输入<%=request.querystring(“id”)%> 在form 的动作里输入hsczx.asp 代码最下面输入释放语句

<%

rs.Close()

Set rs = Nothing

%>

 完成后代码如下

<%@LANGUAGE=”VBSCRIPT” CODEPAGE=”936″%>

<!–#include file=”conn.asp” –>

<%

exec=”select * from lmnr where id=”&request.querystring(“id”)

set rs=server.createobject(“adodb.recordset”)

rs.open exec,conn

%>

<html>

<head>

<meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″>

<title>无标题文档</title>

</head>

<body>

<form name=”form1″ method=”post” action=”hsczx.asp”>

您确定要删除<%=rs(“bt”) %>吗?

        <input type=”submit” name=”Submit” value=”提交”>

        <input name=”id” type=”hidden” id=”id” value=”<%=request.querystring(“id”)%>”>

    </form>

</body>

</html>

<%

rs.Close()

Set rs = Nothing

%>

2,hsczx.asp 是接受hsc.asp 表单传递过来的id,删除数据库里的id项。做法如下:

连接数据库

<!–#include file=”conn.asp” –>

写入删除语句

<%

exec=”delete * from lmnr where id=”&request.form(“id”)

set rs=server.createobject(“adodb.recordset”)

rs.open exec,conn,1,3

response.write(“<script>alert(‘删除成功!’);location.href=’hbj.asp'</script>”)

conn.close            ‘关闭连接,

set conn=nothing      ‘释放内存 这两句很重要,不然会占用大量服务器资源。

%>

ASP编程基本语句(三)

 

 

 

一.目录页面

目录页面是查看一个数据表里的全部信息,和后台管理一面一样做法,不过不用连接添加,修改,删除了,改为在标题上连接查看显示内容就可以了。

建立一个 qml.asp 文件 

连接数据库

<!–#include file=”conn.asp” –>

建立查询记录

<%

set rs = server.CreateObject(“adodb.recordset”)

sql=”select * from lmnr order by id desc”

rs.CursorLocation = 3

rs.Open sql,conn,0,2,1  ‘ //(Yoko:’这里执行你查询SQL并获得结果记录集

%>

写入翻页脚本语句

<%

rs.PageSize = 1  ‘//(Yoko:这里设定每页显示的记录数

        pre = true

      last = true

      page = trim(Request.QueryString(“page”))

     

      if len(page) = 0 then

                  intpage = 1

                  pre = false

      else

          if cint(page) =< 1 then

               intpage = 1

               pre = false

          else

              if cint(page) >= rs.PageCount then

                  intpage = rs.PageCount

                  last = false

              else

                   intpage = cint(page)

             end if

         end if

      end if

    if not rs.eof then

         rs.AbsolutePage = intpage

    end if

%>

插入1行3列宽100%的表格,在1列里写入调取数据表字段语句  name:<%= rs(“name”) %>

在2列里写入调取数据表字段和连接查看内容页面的

<a href=”qck.asp?id=<%= rs(“id”) %>”>bt:<%= rs(“bt”) %></a> 

在3列里写入调取数据表字段content:<%= rs(“content”) %>,

在行标签 <tr> 前 写入重复开始语句

<!–循环开始–>

 <%   

   for i=1 to rs.PageSize

     if rs.EOF or rs.BOF then exit for

  %>

在行标签 </tr> 后写入重复结束语句

  <!–循环体结束–>

  <% 

     rs.movenext

    next

   %>

在</table> 下面写入翻页语句

<!–分页部分:–>

 <table width=”99%” border=”1″ >

   <tr>

     <%if rs.pagecount > 0 then%>

     <td width=”13%” align=”left”>当前是<%=intpage%>页 / 共有<%=rs.PageCount%>页</td>

     <%else%>

    <td width=”41%” align=”left”>当前页0/0</td><%end if%>

    <td width=”46%” align=”right”> <a href=”qml.asp?page=1″>首页</a>|

     <%if pre=true then%>

     <a href=”qml.asp?page=<%=intpage -1%>”>上页</a>| <%end if%>

     <%if last then%>

      <a href=”qml.asp?page=<%=intpage +1%>”>下页</a> |<%end if%>

      <a href=”qml.asp?page=<%=rs.PageCount%>”>尾页</a>|转到第

      <select name=”sel_page” onchange=”javascript:location=this.options[this.selectedIndex].value;”>

      <%

       for i = 1 to rs.PageCount

       if i = intpage then%>

       <option value=”qml.asp?page=<%=i%>” selected><%=i%></option>

     <%else%>

       <option value=”qml.asp?page=<%=i%>”><%=i%></option>

        <%

          end if

        next

        %>

     </select>页</font>

    </td>

   </tr>

 </table>在代码最下面写入关闭连接语句

<% conn.close            ‘关闭连接,

set conn=nothing      ‘释放内存  这两句很重要,不然会占用大量服务器资源

%>

二,分装页面(读取10条记录,用于首页分装目录)

分装页面也是目录页,用于首页中,因为只要读取几条最新的,不做翻页,就简单了

建立 qfz.asp 文件

连接数据库

<!–#include file=”conn.asp” –>

建立查询记录

<%

Set rs= Server.CreateObject (“ADODB.Recordset”)

sql = “Select top 10 * from  lmnr  ORDER BY  id  DESC “

rs.Open sql,conn,1,1

%>

插入1行3列表格

在每列里依次写入调取数据表字段 

name:<%= rs(“name”) %> 

<a href=”qck.asp?id=<%= rs(“id”) %>”>bt:<%= rs(“bt”) %></a> 

content:<%= rs(“content”) %>

在行标签 <tr> 前 写入重复开始语句

<% ‘重复开始

if rs.EOF and rs.BOF then

response.write (“暂时还没有文章”)

else

Do Until rs.EOF %>

在行标签 </tr> 后写入重复结束语句

<% ‘重复结束

rs.MoveNext

Loop

end if

%>

在代码最下面写入关闭连接语句

<% conn.close            ‘关闭连接,

set conn=nothing      ‘释放内存  这两句很重要,不然会占用大量服务器资源

%>

完成后如下面

<%@LANGUAGE=”VBSCRIPT” CODEPAGE=”936″%>

<!–#include file=”conn.asp” –>

<%

Set rs= Server.CreateObject (“ADODB.Recordset”)

sql = “Select top 10 * from  lmnr  ORDER BY  id  DESC “

rs.Open sql,conn,1,1

%>

<html>

<head>

<meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″>

<title>无标题文档</title>

</head>

 

<body>

<table width=”100%” border=”1″>

  <% ‘重复开始

if rs.EOF and rs.BOF then

response.write (“暂时还没有文章”)

else

Do Until rs.EOF %>

<tr>

    <td>name:<%= rs(“name”) %></td>

    <td>bt:<%= rs(“bt”) %></td>

    <td>content:<%= rs(“content”) %></td>

  </tr><% ‘重复结束

rs.MoveNext

Loop

end if

%>

 

</table>

</body>

</html>

<% conn.close            ‘关闭连接,

set conn=nothing      ‘释放内存  这两句很重要,不然会占用大量服务器资源

%>

三,读取内容页面

目录页面或分装页面都是显示很简单,要显示一个内容很多文字,或多媒体图片等,在目录页显示就会破坏页面完整性,要具体查看某一条详细信息,就用显示内容页,接受目录页传递来的 id 来显示这个id 项的全部内容

建立 qck.asp 文件

连接数据库

<!–#include file=”conn.asp” –>

建立查询记录

<%

exec=”select * from lmnr where id=”&request.querystring(“id”)

set rs =server.createobject(“adodb.recordset”)

rs.open exec,conn

%>

插入表格后 把数据表中读取字段语句 写入单元格里就可以了

插入3行一列表格

第1行 写入name:<%= rs(“name”) %>,

第2行写入bt:<%= rs(“bt”) %>

第3行写入content:<%= rs(“content”) %>

在代码最下面写入关闭连接语句

<% conn.close            ‘关闭连接,

set conn=nothing      ‘释放内存  这两句很重要,不然会占用大量服务器资源

%>

ASP编程基本语句(四)

 

 

 

一,用户注册

用户注册由传递和执行2个页面组成

1,  在数据库里编制数据库用户表

ASP编程基本语句

 

2,  yhzc.asp 实质就是写入页面,和添加一样,就是多一个检查用户存在和密码语句

建立yhzc.asp 文件

插入表单后,插入4行1列宽 300的表格,

第1行输入 “用户名:”在后面插入文本字段 文本域输入 name

第2行输入“用户密码:”在后面插入文本字段 文本域输入 pwd,类型改为 密码

第3行输入“密码确认:”在后面插入文本字段 文本域输入 pwd2,类型改为 密码

第4行插入按钮  在form 的动作里输入yhzczx.asp  完成后代码如下

<%@LANGUAGE=”VBSCRIPT” CODEPAGE=”936″%>

<html>

<head>

<meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″>

<title>无标题文档</title>

</head>

 

<body>

<form name=”form1″ method=”post” action=”yhzczx.asp”>

  <table width=”300″ border=”1″>

    <tr>

      <td>用户名:

      <input name=”name” type=”text” id=”name”></td>

    </tr>

    <tr>

      <td>用户密码:

        <input name=”pwd” type=”password” id=”pwd”></td>

    </tr>

    <tr>

      <td>密码确认:

      <input name=”pwd2″ type=”password” id=”pwd2″></td>

    </tr>

    <tr>

      <td><input type=”submit” name=”Submit” value=”提交”></td>

    </tr>

  </table>

</form>

</body>

</html>

3,  注册执行页面

建立yhzczx.asp文件、

连接数据库

写入执行代码

<%

name=request(“name”)

pwd=request(“pwd”)

pwd2= request (“pwd2”)

xx=request(“xx”)

sex=request(“sex”)

if pwd<>pwd2 then

response.write(“<script>alert(‘两次输入的密码不对’);window.history.back();</script>”)

response.end()  ‘结束运行

end if

set rs=server.CreateObject(“adodb.recordset”)

sql=”select count(0) from yhgl where name='”&name&”‘”

rs.open sql,conn,1,1

if rs(0)>0 then   ‘判断用户名是否已经注册

response.write(“<script>alert(‘用户名已经存在’);window.history.back();</script>”)

response.end()  ‘结束运行

else 

conn.execute(“insert into yhgl([name],[pwd]) values(‘”&name&”‘,'”&pwd&”‘)”) ‘添加到数据库注册完成,yhgl_pwd是 ACCESS中的保留关键字。

response.write(“<script>alert(‘注册成功!’);location.href=’yhdl.asp'</script>”)

end if

conn.close            ‘关闭连接,

set conn=nothing      ‘释放内存 这两句很重要,不然会占用大量服务器资源。

%>

二,用户登录

用户登录由传递和执行2个页面组成

1,yhdl.asp

建立yhdl.asp 文件

插入表单后,插入3行1列宽 300的表格,

第1行输入 “用户名:”在后面插入文本字段 文本域输入 name

第2行输入“用户密码:”在后面插入文本字段 文本域输入 pwd,类型改为 密码

第3行插入按钮  在form 的动作里输入yhdlzx.asp  完成后代码如下

<form name=”form1″ method=”post” action=”yhdlzx.asp”>

  <table width=”300″ border=”1″>

    <tr>

      <td>用户名:

      <input name=”name” type=”text” id=”name”></td>

    </tr>

    <tr>

      <td>用户密码:

      <input name=”pwd” type=”password” id=”pwd”></td>

    </tr>

    <tr>

      <td><input type=”submit” name=”Submit” value=”提交”></td>

    </tr>

  </table>

</form>

2,登录执行页面

建立  yhdlzx.asp 文件

写入执行语句

<!–#include file=”conn.asp”–>

<%

Session(“name”)=request.form(“name”)’在 Session中保存用户名

dim username,password

name=request.form(“name”)’从表单传递的用户名

pwd=request.form(“pwd”)

‘查询记录

set rs=server.CreateObject(“adodb.recordset”)

sql=”select * from yhgl where name='”&name&”‘”

rs.open sql,conn,1,1

if rs.eof then

response.write “<script>alert(‘登录失败,用户名不对’);history.back();</script>”

response.end

else

Session(“Username”) = valUsername

if rs(“pwd”)<>pwd then

response.write “<script>alert(‘登录失败,密码不对’);history.back();</script>”

response.end

end if

‘ *** Validate request to log in to this site.

LoginAction = Request.ServerVariables(“URL”)

If Request.QueryString<>”” Then LoginAction = LoginAction + “?” +  Server.HTMLEncode(Request.QueryString)

valUsername=CStr(Request.Form(“name”))

If valUsername <> “” Then

fldUserAuthorization=”yhjb”

redirectLoginSuccess=”qml.asp”

redirectLoginFailed=”hydl.asp”

flag=”ADODB.Recordset”

set rsUser = Server.CreateObject(flag)

rsUser.Source = “SELECT name, pwd”

If fldUserAuthorization <> “” Then rsUser.Source = rsUser.Source & “,” &  fldUserAuthorization

rsUser.Source =rsUser.Source & ” FROM yhgl WHERE name='” &  Replace(valUsername,”‘”,”””) &”‘ AND pwd='” &  Replace(Request.Form(“pwd”),”‘”,”””) &  “‘”

‘ username and password match-this is a valid user

Session(“Username”) = valUsername

Session.Timeout =120

If (fldUserAuthorization <> “”) Then

Else

Session(“UserAuthorization”) = “”

End If

if CStr(Request.QueryString(“accessdenied”)) <> “” And false Then

redirectLoginSuccess = Request.QueryString(“accessdenied”)

End If

Response.Redirect(redirectLoginSuccess)

End If

rsUser.Close

Response.Redirect(redirectLoginFailed)

session(“admin”)=username

response.write”<script>alert(‘登录成功’);location.href=’qml.asp'</script>”

end if

conn.close            ‘关闭连接,

set conn=nothing ‘释放内存 这两句很重要,不然会占用大量服务器资源

%>

几个特殊语句的应用

 

   
 

 

一,只有会员登录才能显示的语句
放在要隐藏文字或图片前面的语句  <%  If  ad1(“name”).Value <> “未登录” Then %>  (这句话的意思是:如果as1这个记录集查询表里文本字段 name 不等于 未登录时 你隐藏的内容才显示
放在要隐藏文字或图片后面的语句  <% End If %>
注意ad1 是记录集查询的名称,一定要和记录集查询的名称一样
加入这个功能时,这个页面一定要有用户管理的记录集查询,把显示用户级别,用户名称的记录集查询(筛选 name  阶段变量Username)语句加入页面上。
<%
Dim ColParam
ColParam = “未登录”
If (Session(“Username”) <> “”) Then
ColParam = Session(“Username”)
End If
set ad1 =server.CreateObject(“adodb.recordset”)
sql=”select * from yhgl WHERE name = ‘” + Replace(ColParam, “‘”, “””) + “‘”
ad1.open sql,conn,1,1
%>
用户管理数据表的名是yhgl 记录集查询名是ad1
二,只有是管理员才能显示的语句
放在要隐藏文字或图片前面的语句  <%  If  ad1(“yhjb”).Value = “管理员” Then %>  (这句话的意思是:如果ad1这个记录集查询表里文本字段 yhjb 等于 管理员 时 你隐藏的内容才显示
放在要隐藏文字或图片后面的语句  <% End If %> 
同样也得有用户管理的记录集查询,语句和什么一样,这条语句一般用于后台管理显示上。
三,有二个条件显示隐藏文字或图片的语句
放在要隐藏文字或图片前面的语句 <%  If  rs (“xzxz”).Value = “0” or ad1(“name”).Value <> “未登录” Then  (这句话的意思是:如果rs 这个记录集查询表里文本字段 xzxz 等于0 或  ad1这个记录集查询表里文本字段 name 不等于 未登录 时 满足一个条件 你隐藏的内容才显示)
放在要隐藏文字或图片后面的语句  <% End If %> 
当然使用这个功能,这个页面一定要有名为ad1用户管理的记录集查询和一个名为rs带有 xzxz 字段的记录集查询语句加入页面上。
这个功能多数用在随时改变“限制只有登录”才能看见你隐藏的文字或图片或随时改变“不限制”任何人都能看见你隐藏的文字或图片
四,只有是管理员才能打开页面的语句
后台页面为了防止被人打开,要在代码里的<html>标签前写入下面语句
<%
‘ *** Restrict Access To Page: Grant or deny access to this page
MM_authorizedUsers=”管理员”
MM_authFailedURL=”../ts.asp”
MM_grantAccess=false
If Session(“MM_Username”) <> “” Then
  If (false 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
%>
其中 ts.asp  是一个提示页面  一般用于后台管理,添加,修改,删除页面中

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/166433.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月6日 下午4:46
下一篇 2022年8月6日 下午4:46


相关推荐

  • C++使用eigen库做本征分解(eigendecomposition)

    C++使用eigen库做本征分解(eigendecomposition)Eigendecomposition的概念可见https://en.wikipedia.org/wiki/Eigendecomposition_of_a_matrix这里贴一段厄米矩阵的代码,见ht

    2022年8月2日
    7
  • Arch Linux双系统安装及Niri桌面合成器环境配置完全指南(从零开始轻松上手)

    Arch Linux双系统安装及Niri桌面合成器环境配置完全指南(从零开始轻松上手)

    2026年3月15日
    2
  • php opendir 不能用,PHP opendir() 函数

    php opendir 不能用,PHP opendir() 函数打开一个目录 读取它的内容 然后关闭 dir images Openadirecto andreaditsco is dir dir if dh opendir dir while file readdir dh false echo filename file closed

    2026年3月18日
    2
  • java 异常分类和处理机制

    java 异常分类和处理机制一、背景介绍程序在运行过程中发生错误或异常情况是不可避免的,如果每一个运行时错误都由程序员手动控制和处理,其工作量是不可想象的。Java语言中的异常处理机制就解决的上述问题,把错误与异常的管理带到了面向对象的世界Java语言定义了很多异常类,将运行错误和异常的信息和处理方法封装在了异常类中,帮助程序员检查和控制异常。即J…

    2022年5月13日
    49
  • ExaGrid获得+73的净推荐值

    ExaGrid获得+73的净推荐值根据NPS标准,此分数值被归为“优秀”马萨诸塞州韦斯特伯鲁–(美国商业资讯)–备份用超融合二级存储器领先供应商ExaGrid®今日宣布,在近日开展的净推荐值(NPS)调查中,该公司的NPS为+73。NPS客户忠诚度指标用于测评现有客户向同行推荐供应商产品或服务的可能性。得到的NPS分数可能低至-100或高达+100。ExaGrid的大多数竞争对手的NPS介于+10和+20之间,而Exa…

    2022年6月6日
    33
  • 分布式CAP原理

    分布式CAP原理Consistentdata:    Operationscommitorfailintheirentirety(atomic)    操作的提交或者失败都是整体的(原子性)    Transactionsneverobserveorresultininconsistentdata(consistent)        事务不会导致不一致的数据  

    2022年5月19日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号