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

%>?

連接數據源文件。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/14886.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/14886.shtml
英文地址,請注明出處:http://en.pswp.cn/web/14886.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

瑞芯微RV1126——人臉識別源碼分析

本節內容主要分為3部分&#xff0c;第一部分是流程結構圖;第二部分為人臉識別代碼流程;第三部分為具體的代碼分析。 1.流程結構圖 2.人臉識別代碼流程 1、人臉數據的初始化&#xff1a; init_all_rockx_face_data();init_face_data();2、創建rtsp會話&#xff0c;這里包括發…

一個典型的分布式緩存系統是什么樣的?no.32

分布式 Redis 服務 由于本課程聚焦于緩存&#xff0c;接下來&#xff0c;我將以微博內的 分布式 Redis 服務系統為例&#xff0c;介紹一個典型的分布式緩存系統的組成。 微博的 Redis 服務內部也稱為 RedisService。RedisService 的整體架構如圖所示。主要分為Proxy、存儲、集…

產品推薦 | 基于Xilinx XCKU115的半高PCIe x8 硬件加速卡

一、板卡概述 本板卡系我公司自主研發&#xff0c;采用Xilinx公司的XCKU115-3-FLVF1924-E芯片作為主處理器&#xff0c;主要用于FPGA硬件加速。板卡設計滿足工業級要求。如下圖所示&#xff1a; 二、功能和技術指標 板卡功能 參數內容 主處理器 XCKU115-3-FLVF1924-E 板卡…

UE4/UE5像素流送云推流:多人訪問不穩定、畫面糊、端口占用多等

UE4/UE5想要實現網頁訪問&#xff0c;很多工程師會選擇guan方的像素流送。但這個技術要求在模型開發初期就接入。對于一些已有UE模型是無法進行流化的。雖然也可以解決新UE模型的網頁訪問問題&#xff0c;但在實際的應用中&#xff0c;點量云流也收到很多反饋說&#xff0c;使用…

netty-socketio 集群隨記

實現netty-socketio集群的方式 代碼實例 PostConstructpublic void subscribe() {pubSubStore.subscribe(PubSubType.DISPATCH, new PubSubListener<DispatchMessage>() {Overridepublic void onMessage(DispatchMessage message) {log.debug("subscribe: {}"…

Python爬取B站視頻:封裝一下

&#x1f4da;博客主頁&#xff1a;knighthood2001 ?公眾號&#xff1a;認知up吧 &#xff08;目前正在帶領大家一起提升認知&#xff0c;感興趣可以來圍觀一下&#xff09; &#x1f383;知識星球&#xff1a;【認知up吧|成長|副業】介紹 ??如遇文章付費&#xff0c;可先看…

大數據Hadoop之-工具HIVE(一)

大數據Hadoop之——數據倉庫Hive HIVE介紹Hive是基于Hadoop的一個數據倉庫(Data Aarehouse,簡稱數倉、DW),可以將結構化的數據文件映射為一張數據庫表,并提供類SQL查詢功能。是用于存儲、分析、報告的數據系統。 在Hadoop生態系統中,HDFS用于存儲數據,Yarn用于資源管理…

解釋Spring Bean的生命周期

Spring Bean的生命周期涉及到Bean的創建、配置、使用和銷毀的各個階段。理解這個生命周期對于編寫高效的Spring應用和充分利用框架的功能非常重要。下面是Spring Bean生命周期的主要步驟&#xff1a; 1. 實例化Bean Spring容器首先將使用Bean的定義&#xff08;無論是XML、注…

使用Golang調用騰訊云郵件模版發送郵件

文章目錄 一、騰訊云郵件模版創建1.1 發信域名配置1.2 發信地址設置1.3 發信模版設置 二、通過Golang發送郵件2.1 代碼示例2.2 代碼說明 三、常見問題3.1 UnsupportedRegion3.2 InvalidTemplateID 本文檔介紹了如何使用Golang編寫代碼&#xff0c;通過騰訊云郵件服務&#xff0…

【Linux】中的常見的重要指令(中)

目錄 一、man指令 二、cp指令 三、cat指令 四、mv指令 五、more指令 六、less指令 七、head指令 八、tail指令 一、man指令 Linux的命令有很多參數&#xff0c;我們不可能全記住&#xff0c;我們可以通過查看聯機手冊獲取幫助。訪問Linux手冊頁的命令是 man 語法: m…

白嫖免費圖床!CloudFlare R2太香了!

1 為啥要折騰搭建一個專屬圖床&#xff1f; 技術大佬寫博客都用 md 格式&#xff0c;要在多平臺發布&#xff0c;圖片就得有外鏈后續如博客遷移&#xff0c;國內博客網站如掘金&#xff0c;簡書&#xff0c;語雀等都做了防盜鏈&#xff0c;圖片無法遷移 2 為啥選擇CloudFlare…

對話太醫管家CEO徐晶:數字化技術正在為健康管理行業帶來新平衡丨數字思考者50人...

ITValue 鈦媒體特別專題策劃《數字思考者50人》&#xff1a;探訪中國深刻的數字化思考者群體。我們理解的“TechThinker”&#xff0c;涵蓋了中國數字化浪潮中的技術踐行者、政策制定者與投資決策者。在這場長達10年的乘風破浪中&#xff0c;每個人都在分享技術進步的果實&…

leetcode445-Add Two Numbers II

題目 給你兩個 非空 鏈表來代表兩個非負整數。數字最高位位于鏈表開始位置。它們的每個節點只存儲一位數字。將這兩數相加會返回一個新的鏈表。 你可以假設除了數字 0 之外&#xff0c;這兩個數字都不會以零開頭。 示例1&#xff1a; 輸入&#xff1a;l1 [7,2,4,3], l2 [5,6…

文件系統--軟硬鏈接

文章目錄 現象軟鏈接硬鏈接 現象 建立軟鏈接 建立硬鏈接 // 刪除軟硬鏈接都可以用 unlink 指令 unlink soft-link軟鏈接 軟鏈接是一個獨立的文件&#xff0c;因為有獨立的inode number 軟鏈接的內容&#xff1a;目標文件所對應的路勁字符串如果我們直接查看軟鏈接文件&#…

vue2vue3為什么el-table樹狀表格失效?

上圖所示&#xff0c;后端返回字段中有hasChildren字段。 解決樹狀表格失效方案&#xff1a; 從后端拿到數據后&#xff0c;遞歸去掉該字段&#xff0c;然后就能正常顯示。&#xff08;復制下方代碼&#xff0c;直接用&#xff09; 親測有效&#xff0c;vue2、vue3通用 /**…

如何運用多媒體,打造企業實力展示廳?

企業文化、產品是其長期發展的根本所在&#xff0c;為此越來越多的企業開始選擇運用多媒體互動&#xff0c;來打造企業多媒體展廳的方式&#xff0c;對企業文化、品牌形象、產品進行推廣宣傳&#xff0c;并在多媒體互動裝置的支持下&#xff0c;能讓客戶能夠快速且全面的了解企…

基于SSM的“酒店管理系統”的設計與實現(源碼+數據庫+文檔)

基于SSM的“酒店管理系統”的設計與實現&#xff08;源碼數據庫文檔) 開發語言&#xff1a;Java 數據庫&#xff1a;MySQL 技術&#xff1a;SSM 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系統展示 首頁 管理員登錄頁面 用戶管理頁面 客房信息查詢 酒店詳細信息 后臺…

MySQL入門學習.數據庫組成.存儲引擎

存儲引擎是 MySQL 數據庫的一個重要組成部分&#xff0c;它決定了數據的存儲方式、索引方式、事務支持等特性。MySQL 支持多種存儲引擎&#xff0c;常見的有 InnoDB、MyISAM、Memory 等。 存儲引擎的特點和使用方法&#xff1a; 1. InnoDB&#xff1a; 是 MySQL 默認的存儲引…

APP廣告變現怎么實現的,背后邏輯是什么?

廣告變現的實現主要基于以下幾個關鍵步驟和邏輯&#xff1a; 用戶獲取與留存&#xff1a;首先&#xff0c;APP需要吸引足夠的用戶并確保他們的留存率。只有擁有龐大且活躍的用戶基礎&#xff0c;APP才能吸引廣告商投放廣告。因此&#xff0c;開發者需要通過優化APP質量、提升用…

數字人實訓室解決方案

前言 近年來&#xff0c;政策層面的積極推動為數字人產業鋪設了堅實的基石。2021年&#xff0c;“十四五”規劃將虛擬數字技術納入其中&#xff0c;強調技術創新引領行業應用的革新&#xff0c;加速數字人在各領域的實際應用。緊接著的《“十四五”數字經濟發展規劃》進一步明確…