ASP+ACCESS基于WEB网上留言板

2024-05-26 01:44
文章标签 web asp access 网上 留言板

本文主要是介绍ASP+ACCESS基于WEB网上留言板,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

摘要

本文概述了ACCESS数据库及其相关的一些知识,着重论述ACCESS数据库和ASP的中间技术,构建一个简单的留言板。具体的实现是构造一个留言板系统,能很方便的和同学沟通和交流。留言板具有功能强大、使用方便的特点。用户以个人的身份进入,查看留言,以及在留言板中写下自已要留言的内容。管理员可根椐管理员用户名和密码进入,进行适当的修改和删除。

     在此设计中,主要的技术有:ASP,HTML,ADO等,用到的运行环境(操作系统,服务器)有WINDOWS98,PWS,和IE 5.0等,将它们集成在一个INTRANET(模拟INTERNET)的环境中,从而实现了设计。

关键词】留言板 网络数据库 ASP HTML

4.1 用户、管理员浏览模块

(图4.1)

此模块的功能是用户和管理员都能利用该模块浏览所有的留言内容,此模块不用注册即可使用,每页由7条记录组成,具有翻页功能,具体的设计步骤如下(此模块的图片如图3.1)。

下面的ASP代码实现显示表stu中的内容:

<%response.buffer=true%>

<html>

<head>

<title>留言板</title>

</head>

<%'========================显示数据库表stu中的信息=======================

   sql="select * from lyb "

  set rs=server.createobject("ADODB.Recordset")

  rs.Open sql,conn,1

  numzhuce=rs.RecordCount

  page=request.querystring("page")           '接收上一页、下一页的页号

     if len(page)>0 and isnumeric(page) then

           page=int(page)

     else

           page=1

     end if

     if not rs.eof  then

          size=7

         rs.PageSize=size           '每页记录数

          TotlePage=rs.PageCount     '总页数

        TotlePage=int(numzhuce/size)

         if (numzhuce mod size)>0 then TotlePage=TotlePage+1  '总页数

         if page<1 or page>TotlePage then

             page=1

             rs.AbsolutePage=page  '当前页

         else

             rs.AbsolutePage=page  '当前页

          end if

          num=1                    '循环变量初值

%>

以上的内容分别把接收到的数据放在变量中,下面的代码的功能是显示出这些信息。

<td width="545" height="91" valign="top">

     <font size="2">

       <%while not rs.eof and num<=size%>

       <font color="#FF00FF">

       [留言主题]</font><%=rs("主题")%><br>

    <font color="#FF00FF">

    [留言内容]</font><%=rs("内容")%><br>

    &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp                                 

    <%=rs("昵称")%>&nbsp                              

    [<%=rs("时间")%>] <br>

    <font color="#0000FF">

    +---------------------------------------------------------------------+</font> <br>

    <%rs.movenext

            num=num+1

wend

rs.close

set rs=nothing%>

        </font>

       </td>

  </tr>

  <tr>

    <td width="545" height="91" valign="top">

<font size="2">

<a href="lyb.asp?page=1">[第一页]</a>

  <% select case page

     case 1:            '只有下一页

         if totlepage>1  then

%>

          <a href="lyb.asp?page=2">[下一页]</a>[第<%=page%>页/共<%=TotlePage%>页][共<%=numzhuce%>条记录]

          <% else %>

          第<%=page%>页/共<%=TotlePage%></font>

          <% end if %>

     <% case TotlePage:    '只有上一页%>

          <a href="lyb.asp?page=<%=page-1%>">[上一页]</a>[第<%=page%>页/共<%=TotlePage%>页][共<%=numzhuce%>条记录] 

      <% case else:  %>

          <a href="lyb.asp?page=<%=page-1%>">[上一页]</a>

          <a href="lyb.asp?page=<%=page+1%>">[下一页]</a>

          [第<%=page%>页/共<%=TotlePage%>页][共<%=numzhuce%>条记录] 

      <%  end select %>

</font>

<%end if%>

    </td>

此模块用到了RecordCount、request.querystring等方法以及一些翻页的技巧。由于篇幅限制,这里只给出了一部分比较重要的代码,其它的简略。

4.2 用户留言及修改模块

   该模块的功能是,用户可以在这里把自己的留言写在这里,如果其它用户浏览里,就可以看到此用户的留言(模块的缩略图如下3.2)。

(图4.2)

     该模块由留言昵称、留言QQ、电子信箱、个人网站、留言主题和留言内容组成,其中后面有带星号的为必填项,其它的为选填项,写完之后单击写好了,即可提交,按返回上页,直接返回到首页。此页中用到了表单提交的一些技术,相关代码如下:

<script language="javascript">

function presub1(f) {

if(f.t1.value=="")

{

  alert("昵称不能为空");

  return false;}

else if(f.t5.value=="")

{

  alert("主题不能为空");

  return false;}

  else if(f.s1.value=="")

{

  alert("请输入正文内容");

  return false;}

else

  return true;

}

</script>

     以上这段程序的功能是利用JAVA脚本进行本地验证,当用户的表单里填入空值或者不正确值的时候给出相应的提示。无需通过服务器。

    <form method="post" οnsubmit="return presub1(this)" action="xly1.asp">

     这句代码的功能是将整个表单以post方式发送到xly1.asp文件里。

4.3 用户注册模块

    此模块的功能是用户可以在这里注册成为会员,有一些比普通用户更有一些权限。下图是注册的缩略图。

(图4.3)

该模块的具体设计和代码如下:

<script language="javascript">

function presub1(f) {

if(f.yhm.value=="")

{

  alert("用户名不能为空");

  return false;}

else if(f.kl.value=="")

{

  alert("密码不能为空");

  return false;}

  else if(f.kl.value!=f.qrkl.value)

{

  alert("两次输入密码不一致");

  return false;}

else if(f.zjhm.value=="")

{

  alert("请输入证件号码");

  return false;}

else

  return true;

}

</script>

以上程序是本地验证,要求输入的内容不能为空或者内容不合法。

<%

set rs=server.createobject("adodb.recordset")

rs.open "select * from news","dsn=ql;"

yhm=request("yhm")

kl=request("kl")

qrkl=request("qrkl")

zjhm=request("zjhm")

lxfs=request("lxfs")

dh=request("dh")

dw=request("dw")

%>

<html>

<head>

<title>注册信息</title>

</head>

<body>

<table border="1" width="100%" height="334">

  <tr>

    <td width="14%" height="61"></td>

    <td width="86%" height="61">您注册的信息:</td>

  </tr>

  <tr>

    <td width="14%" height="261"></td>

    <td width="86%" height="261" valign="top"><%=request("yhm")%><p>

    <%=request("kl")%><p>

    <%=request("qrkl")%><p>

    <%=request("zjhm")%><p>

    <%=request("lxfs")%><p>

    <%=request("dh")%><p>

    <%=request("dw")%><p>

    </td>

  </tr>

</table>

</body>

</html>

以上程序把注册信息发送到服务器的数据库,并在屏幕上显示出来。

4.4 管理员登陆模块

(图4.4)

该模块的功能是管理员可以在这里登陆,可以在线的管理这些留言,管理员有特殊的权限,做普通用户不可以做的事情,比如,可以将留言删。(该模块的缩略图如3.3)具体的实现和代码如下:

<%response.buffer=true%>

<%response.expires=0%>

这两名话的作用是打开内存中的缓冲区。

<script language="javascript">

function presub(f) {

if(f.usname.value=="")

{

  alert("请输入用户名");

  return false;}

else if(f.uspas.value=="")

{

  alert("请输入密码");

  return false;}

  else

  return true;

}

</script>

以上这段程序的功能是利用JAVA脚本进行本地验证,当管理员输入的用户名和密码为空值或者不正确值的时候给出相应的提示

4.5 管理员回复与删除留言模块

     此模块的功能是管理员可以进入,并且可以进行增加和删除等功能,(此模块的缩略图如3.4)具体的实现方和代码如下:

(图4.5)

当用户点删除时,弹出提示,询问是否删除,如果确定点是,否则点取消。

<%response.buffer=true%>

<%

set rs=server.createobject("adodb.recordset")

rs.open "select * from lyb","dsn=stu;"

%>

<%set cn=server.createobject("adodb.connection")

cn.open"dsn=stu;"

%>

定义缓冲区和连接数据源。

<!--#include file="conn.asp"-->

<%

       username=request.querystring("username")

   

       if trim(username)<>"" then

        sql="delete  from lyb where 昵称='"& username  & "'"

        cn.execute sql  

       end if

%>

<%'***************************************显示数据库表stu中的信息***************************************

   sql="select * from lyb "

  set rs=server.createobject("ADODB.Recordset")

  rs.Open sql,conn,1

  numzhuce=rs.RecordCount

  page=request.querystring("page")           '接收上一页、下一页的页号

     if len(page)>0 and isnumeric(page) then

           page=int(page)

     else

           page=1

     end if

     if not rs.eof  then

          size=7

         rs.PageSize=size           '每页记录数

          TotlePage=rs.PageCount     '总页数

        TotlePage=int(numzhuce/size)

         if (numzhuce mod size)>0 then TotlePage=TotlePage+1  '总页数

         if page<1 or page>TotlePage then

             page=1

             rs.AbsolutePage=page  '当前页

         else

             rs.AbsolutePage=page  '当前页

          end if

          num=1                    '循环变量初值

%>

把总页数和每页的内容分别赋给变量。

<% ' ****************************删除确认******************************************%>

  <script language=javascript>

   function chkdel() {

   var talk = window.confirm("请确定是否删除该条记录!");

   if (talk==false) {return false;}

  }

  </script>

确认是否删除该记录。

<td width="1293" height="182" valign="top">

                    <font size="2">

       <%while not rs.eof and num<=size%>

     <font color="#FF00FF"> 

       [留言主题]</font><%=rs("主题")%>

    <br>

    <font color="#FF00FF">

    [留言内容]</font><%=rs("内容")%><br>

    &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp             

    <%=rs("昵称")%>&nbsp [<%=rs("时间")%>]<font color="#0000FF"> <br>

    <font color="#0000FF">

    +---------------------------------------------------------------------+&nbsp;

    <a href="lybxg.asp?username=<%=rs("昵称")%>" οnclick="return  chkdel();" >删除?</a>

       </font> <br>

    <%rs.movenext

            num=num+1

wend

rs.close

set rs=nothing%>

        </font></font>

    <font size="2">

            <a href="lybxg.asp?page=1">[第一页]</a>

  <% select case page

     case 1:            '只有下一页

         if totlepage>1  then

%>

          <a href="lybxg.asp?page=2">[下一页]</a>[第<%=page%>页/共<%=TotlePage%>页][共<%=numzhuce%>条记录]

          <% else %>

          第<%=page%>页/共<%=TotlePage%></font>

          <% end if %>

     <% case TotlePage:    '只有上一页

%>

          <a href="lybxg.asp?page=<%=page-1%>">[上一页]</a>[第<%=page%>页/共<%=TotlePage%>页][共<%=numzhuce%>条记录]  

      <% case else:  %>

          <a href="lybxg.asp?page=<%=page-1%>">[上一页]</a> 

          <a href="lybxg.asp?page=<%=page+1%>">[下一页]</a> 

          [第<%=page%>页/共<%=TotlePage%>页][共<%=numzhuce%>条记录]  

      <%  end select %>

<%end if%>

            </td>

4.6 其他程序模块

     以上几节简单的介绍了几个模块的一些比较重点的程序段,但是在本节中介绍一下几个在表面上看不到的,但是却起着相当重要的一些代码。

<%sj=date()

aaa="'"&request("T1")&"','"&request("T2")&"','"&request("T3")&"','"&request("T4")&"','"&request("T5")&"','"&request("s1")&"','"&sj&"'"%>

<%set cn=server.createobject("adodb.connection")

cn.open"dsn=stu;"

%>

<%strsql="insert into lyb(昵称,qq,邮箱,网站,主题,内容,时间) values("&aaa&")"

cn.execute(strsql)

%>

<%cn.close

set cn=nothing%>

<%response.redirect"lyb.asp"%>

     以上这段代码是在后台运行的,该网页是个空的,什么也不显示,当用户写完留言的时候,把表单里所有的东西都要提交到这里,利用ASP提供的insert int 等语句把他传送到服务器的数据库的表格里。

<%response.buffer=true%>

<%usname=request("usname")

uspas=request("uspas")

set rs=server.createobject("adodb.recordset")

rs.open "select * from password","dsn=stu;"

%>

<html>

<head>

<body>

<%while not rs.eof

if usname=rs("用户名") and uspas=rs("密码") then

%>

<%response.redirect "lybxg.asp"%>

<%response.end%>

<%end if

rs.movenext

wend

rs.close

set rs=nothing%>

<%response.redirect"lybgly.asp"%>

</body>

</html>

该程序段的功能是,接收用户名和密码,并把用户名和密码发送到服务器的数据库里验证,如果和数据库里的一样,则可以登陆,否则提示用户名或密码错误。

<%

    constr="DBQ="+server.mappath("stu.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"

    set conn=Server.CreateObject("ADODB.connection")

    conn.open constr

%> 

连接数据源文件。

这篇关于ASP+ACCESS基于WEB网上留言板的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1003213

相关文章

Java Web指的是什么

Java Web指的是使用Java技术进行Web开发的一种方式。Java在Web开发领域有着广泛的应用,主要通过Java EE(Enterprise Edition)平台来实现。  主要特点和技术包括: 1. Servlets和JSP:     Servlets 是Java编写的服务器端程序,用于处理客户端请求和生成动态网页内容。     JSP(JavaServer Pages)

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码

EasyPlayer.js网页H5 Web js播放器能力合集

最近遇到一个需求,要求做一款播放器,发现能力上跟EasyPlayer.js基本一致,满足要求: 需求 功性能 分类 需求描述 功能 预览 分屏模式 单分屏(单屏/全屏) 多分屏(2*2) 多分屏(3*3) 多分屏(4*4) 播放控制 播放(单个或全部) 暂停(暂停时展示最后一帧画面) 停止(单个或全部) 声音控制(开关/音量调节) 主辅码流切换 辅助功能 屏

9.8javaweb项目总结

1.主界面用户信息显示 登录成功后,将用户信息存储在记录在 localStorage中,然后进入界面之前通过js来渲染主界面 存储用户信息 将用户信息渲染在主界面上,并且头像设置跳转,到个人资料界面 这里数据库中还没有设置相关信息 2.模糊查找 检测输入框是否有变更,有的话调用方法,进行查找 发送检测请求,然后接收的时候设置最多显示四个类似的搜索结果

JavaWeb【day09】--(Mybatis)

1. Mybatis基础操作 学习完mybatis入门后,我们继续学习mybatis基础操作。 1.1 需求 需求说明: 根据资料中提供的《tlias智能学习辅助系统》页面原型及需求,完成员工管理的需求开发。 通过分析以上的页面原型和需求,我们确定了功能列表: 查询 根据主键ID查询 条件查询 新增 更新 删除 根据主键ID删除 根据主键ID批量删除

利用Django框架快速构建Web应用:从零到上线

随着互联网的发展,Web应用的需求日益增长,而Django作为一个高级的Python Web框架,以其强大的功能和灵活的架构,成为了众多开发者的选择。本文将指导你如何从零开始使用Django框架构建一个简单的Web应用,并将其部署到线上,让世界看到你的作品。 Django简介 Django是由Adrian Holovaty和Simon Willison于2005年开发的一个开源框架,旨在简

web群集--nginx配置文件location匹配符的优先级顺序详解及验证

文章目录 前言优先级顺序优先级顺序(详解)1. 精确匹配(Exact Match)2. 正则表达式匹配(Regex Match)3. 前缀匹配(Prefix Match) 匹配规则的综合应用验证优先级 前言 location的作用 在 NGINX 中,location 指令用于定义如何处理特定的请求 URI。由于网站往往需要不同的处理方式来适应各种请求,NGINX 提供了多种匹

49个权威的网上学习资源网站

艺术与音乐 Dave Conservatoire — 一个完全免费的音乐学习网站,口号是“让每一个人都可以接受世界级的音乐教育”,有视频,有练习。 Drawspace — 如果你想学习绘画,或者提高自己的绘画技能,就来Drawspace吧。 Justin Guitar — 超过800节免费的吉他课程,有自己的app,还有电子书、DVD等实用内容。 数学,数据科学与工程 Codecad

构建高性能WEB之HTTP首部优化

0x00 前言 在讨论浏览器优化之前,首先我们先分析下从客户端发起一个HTTP请求到用户接收到响应之间,都发生了什么?知己知彼,才能百战不殆。这也是作为一个WEB开发者,为什么一定要深入学习TCP/IP等网络知识。 0x01 到底发生什么了? 当用户发起一个HTTP请求时,首先客户端将与服务端之间建立TCP连接,成功建立连接后,服务端将对请求进行处理,并对客户端做出响应,响应内容一般包括响应

(javaweb)mysql---DDL

一.数据模型,数据库操作 1.二维表:有行有列 2. 3.客户端连接数据库,发送sql语句给DBMS(数据库管理系统),DBMS创建--以文件夹显示 二.表结构操作--创建 database和schema含义一样。 这样就显示出了之前的内容。