⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xiaoyuanwangzhansheji.txt

📁 校园网站的设计
💻 TXT
📖 第 1 页 / 共 3 页
字号:
pagecount=0rs.movefirstif request.querystring("topage")<>"" then pagecount=cint(request.querystring("topage"))if pagecount<=0 then pagecount=1if pagecount>totalpage then pagecount=totalpagers.move(pagecount-1)*10发言表单网页制作inse tu3表单的参数表单的Action参数:Action参数是用来指定Server端处理此一表单数据内容的程序,此处表单处理ASP程序为“add.asp“,表单的Mothed参数:要将表单传送至Server端的方式有两种,设置值分别为GET及POST,若设置为POST,则浏览器会等Server端来读取数据,若设置为GET,则当我们按下送出按钮时,浏览器会立即将表单中的数据内传送出去。利用POST方法,在传送的数据上将不受限制,利用GET方法传送的数据量则大约只有2K左右。留言处理程序要将家长发言数据作后续处理及将这些数据内容存入数据库,须利用添加数据记录的Insert Into 指令,然后再写入数据库文件中:Inset into 指令语句格式:Insert into 数据表名 (栏目名) values(栏目值)sql="insert into allmessage(家长姓名,留言主题,联络信箱,留言内容,私人公开,留言时间,班级) values("sql=sql&"'"& parent&"',"sql=sql&"'"&subject&"',"sql=sql&"'"&email&"',"sql=sql&"'"&memo&"',"sql=sql&"'"&personal&"',"sql=sql&"'"&now&"',"sql=sql&"'"&bj&"')"cn.execute sql回复表单程序网页必须让老师们可以针对某位特定学生家长所发表的意见作出独立的回答,使用Select…From…Where筛选语句sql="select * from allmessage where(编号="&ID&")"rs.open sql,cn,1,3然后将特定的家长发言数据放在表单,方法是将数据库中的数据取出来,然后放在表单栏位中:“家长姓名“栏位网页语句标签<td bgcolor="#CCCCFF"><font size="2"><%=RS("家长姓名")%><font></td>“留言主题“栏位网页语句标签<td bgcolor="#CCCCFF"><font size="2"><%=RS("留言主题")%></font></td>“留言内容“栏位网页语句标签<td bgcolor="#CCCCFF"><font size="2"><%=RS("留言内容")%><font></td>老师在回复栏位中所填入的数据,必须送给处理老师回复数据的ASP程序”anssave.asp”来记录以及处理这些回复数据。当老师填写好回复发言的数据后按下“送出回复”按钮后,表单中的数据内容就会以“POST”的方式由SEVER端读取,然后将数据内容交由处理老师回复数据的ASP程序“anssave.asp”来将数据内容写入数据库。3.2网上图书馆网上图书馆将学校图书馆图书放到网络上供人借阅,这样不仅方便了校内的学生与教职员工使用图书馆的资源,还为图书馆管理员提供了一种简便地管理图书馆的方法.3.2.1功能网上图书馆系统可以进行图书的出借和归还.还可以在系统中按照多种字段对图书进行查找,还可以浏览某个种类的所有图书.该应用程序也为图书馆管理员提供了一些功能,如添加、编辑以及删除图书等,或者在分类层次结构中添加新的种类。3.2.2系统的层次结构下图的每个方框代表校园图书馆网站中的一个页面。除了只包含HTML的Search页面外,其他的均为ASP页面。因为每个图书的页面都不同,所以大多数的页面实际上都是多页面。3.2.3数据库设计 本系统共使用3个数据表:LibBooks表包含与图书有关的所有数据。该表中的字段内容的图书的通用信息。另外,对于已经出借的图书,该表中还包含借阅该图书的用户的ID号,以及图书的状态。 表视图如下:字段名 意义 字段类型 字段名 意义 字段类型bookid 书号(主键) 数字 (no null) status 状态 文本title 书名 文本 checkedoutto 用户id 数字author 著者 文本 reservedby 用户学号 数字Subject 主题 文本 description 描述 文本Isbn Isbn号 文本 keywords 关键字 文本LibCategories 表包含Library中的所有类别,在访问者浏览图书列表时将会用到这些类别。每个类别都可以作为另外类别的父类别。有一个特殊的类别,Top-Level,没有出现在类别列表中,但是可以作为其他任何类别的父类别。字段名 意义 字段类型Categoryname 类别 文本(noll)parentcategory 父类别 文本(noll) LibEmps表包含可以访问图书馆网站的用户信息。该表包含一些通用的信息字段,比如用于进入图书馆的用户密码等。字段名 意义 字段类型 字段名 意义 字段类型empid 用户id (主键no null) 数字 password 用户密码 文本Empname 用户姓名 文本 manager 管理员代号 数字emailaddress 用户邮箱 文本  图书馆数据库的数据关系如图9-22所示。其中表LibEmps和表Lib Categories与表LibBooks之间都是一对多的关系。每个雇员都可以借阅多本图书,每个类别都可以包含多本图书。  3.2.3界面设计与重点代码的设计   网上图书馆系统有两种用户,一是管理员。另一种是只允许使用图书馆系统,而没有管理功能的一般用户。访问者进入网站,首先要进行登录,如下图所示。登录页面(index.asp)访问者输入E-mail地址和密码来登录,然后单击“登录”按钮。输入的数据提交后与数据库中的用户表进行匹配。须创建一个记录来保存基于访问者登录的用户信息set RSFindEmp = conn.Execute("select EmpID, Manager from LibEmps where " _& "EmailAddress = '" & Request.Form("EmailAddress") & "' and " _& "Password = '" & Request.Form("Password") & "'")if RSFindEmp.EOF thenTheMessage = "密码或email地址不对."elseSession("EmpID") = RSFindEmp("EmpID")Session("Manager") = RSFindEmp("Manager")Response.Redirect "../yk.htm"end if表单域EmailAddress和Password 用于Where了句中来获取一个记录。如果访问者输入了一个无效的用户名,则记录集中将不会返回匹配的记录。我们可以通过查看EOF标记来判断一个记录集是否为空。为空,则访问者将被拒绝进入该系统。不为空,则访问者的EmpID值和Manager值将从记录集中返回。写入Session 变量, 变量将在整个网站的所有网页中都是有效的。这些变量的存在与否及其取值将用于确定是否允许进入一个特定的网页,同时也用于访问者进行书目的归还和借阅操作。图书馆菜单页面图书馆菜单页面包含指向其他4个页面的链接:管理页面、搜索页面、图书列表页面和主页面。还有一个可显示用户所借书籍的按纽。如果访问者是图书馆管理员,则菜单界面如图所示。如果访问者不是图书馆管理员,则看到如图所示的界面。非管理员的访问者的界面上没有指向管理员菜单页面的链接。     实现办法:访问者登录时在登录页面上的创建的会话变量Session 用于从数据库中获取访问者的有关信息,表示它是否是管理员。如果值为1,就表明访问者是一个管理员,则用如下代码写入一个指向管理员页面的链接:<% If Session("Manager") = 1 then %><A HREF="../html/management_menu.asp">管理员菜单</A><% end if %>通过按纽B1是否为空来判断要不要显示用户所借图书,利用一个记录集来获取访问者已经借出了的所有图书的列表。if NOT isempty(Request.Form("B1")) thenset RSBooks = conn.Execute ("select BookID, Title from LibBooks where " _& "CheckedOutTo = " & Session("EmpID"))end if 再用循环语句将所借书以表格形式显示出来。<table border=1 width="90%" > <% if NOT isempty(Request.Form("B1")) thenDo Until RSBooks.EOF%> <TR > <TD WIDTH=40% height="20"><% Response.Write RSBooks("Title") %></td></tr><% RSBooks.MoveNext loopend if%> </table> 循环将遍历Rsbooks记录集中的每个记录,直到该记录集结束:该网站中的所有ASP页面都会在访问者访问之前对其进行登录检查。这样就可以避免访问者通过输入某个页面地址然后在没有登录的情况下直接进入该页面的情况发生。此外,每个管理页面都要确认访问者是管理员。管理菜单页面管理菜单页面有一个HTML表单,根据选择的按钮的不同,可以进行5种不同的操作:图书的归还、图书的编辑、图书的删除、图书的添加和类别的添加。不管选择了哪一个按钮,该表单都提交人其自身进行处理。要进行图书的归还、图书的编辑、图书的删除三种操作,须先进行搜索,找到该书后,由图书Book.asp返回一个链接:<% If Session("Manager") = 1 then %><A HREF="../html/management_menu.asp?title=<% response.write RSBooks("Title") %>&BOOKID=<% response.write RSBooks("BOOKID") %>">管理员菜单</A><% end if %> 而管理者页面通过下列语句<%=request.querystring("title")%><inputzztype=hidden name="BOOKID1"value="<%=request.querystring("BOOKID")%>>这样就将所找到的书的书号BookID、书名Title传递管理者页面。再进行所须操作。共有3个不同的铵纽,可以进行3种操作。若单击“修改”钮:则重定向到编辑图书页面,同时把Bookid 传递给该页面。Response.Redirect "./edit_book.asp?BOOKID="&request("BOOKID1")将其他的情况需要建立到数据库的连接:set conn = server.createobject ("adodb.connection")Conn.Open("FILEDSN=c:\Program Files\Common Files\ODBC\Data Sources\ms access database.dsn")if NOT isempty(Request.Form("Delete")) and request("BOOKID1")<>"" thenconn.Execute "delete from LibBooks where BOOKID ="&request("BOOKID1")end ifif (NOT isempty(Request.Form("checkin"))) and request("BOOKID1")<>"" thenconn.Execute "update LibBooks set checkedoutto= 0, status= 'Available' where BookID="&Request("BOOKID1")end if页面中的添加新的种类部分包含一个文本控件和一个选择控件。其中选择控件是用所有已经存在的类别列表进行填充的,包括特殊类别 Top level ,该类别表明当前类别是处于类别层次结构中的最顶层。代码如下:先用一个记录集来填充父类别选择控件:set RSCategories = conn.Execute("select CategoryName from LibCategories order by CategoryName")再用下列循环语句:<% Do Until RSCategories.EOF %> <OPTION VALUE="<% response.write RSCategories("CategoryName") %>"><% response.write RSCategories("CategoryName") %></OPTION> <% RSCategories.MoveNext Loop %> 遍历RSCategories记录集中的每个记录,并作为一个选项添加到列表中,而记录集中CategoryName 同时作为显示值和传递值:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -