ASP+ACCESS公司门户网站建设

news2024/9/23 17:18:33

摘  要】随着计算机科学的发展,数据库技术在Internet中的应用越来越广泛,为广大网络用户提供了更加周到和人性化的服务。本文讲解了一个公司的网站的建设,它基于数据关联规则的公司个性化页面及动态数据生成案例,在网页方面,综合考虑了页面色彩、页面的构架,充分的利用了图片、文字、图层、表格等元素。网站内容明确,层次清楚,达到了预期的功能。

【关键词】网站  动态   ASP   数据库  ACCESS

1.2.网站实现功能

本网站给客户提供一个了解公司的平台,客户可以与公司及时地交换意见,产生互动,公司也可以及时对网站进行更新维护。

前台客户系统功能:

(1) 用户可以浏览公司的一些基本的信息。

(2) 用户可以浏览公司的新闻。

(3) 用户可以查看公司的联系方式。

(4) 用户可以浏览留言板的帖子。

(5) 用户可以随时发表自己的言论。

后台管理系统功能:

(1) 增加、修改、删除公司的新闻。

(2) 修改、删除留言板帖子。

(3) 浏览、删除最新产品信息。

2.3.网站总体设计

2.3.1.网站层次概况图

公司网站系统分为两个子系统:客户系统和后台系统,其功能如图-1所示。

2.3.2.系统模块设计

1、用户模块

(1) 浏览模块。包括浏览公司首页、公司简介、资格认证、公司新闻、留言板等内容。

(2) 发表留言。为用户提供发表留言的功能。

(3) 浏览新闻。为用户提供浏览信息新闻的功能。

2、管理模块

(1) 管理员登录。管理员要进行管理操作,必须先进行登录。

(2) 新闻管理。对新闻进行增加、删除、修改操作。

(3) 留言管理。对留言进行删除、修改操作。

(4) 产品管理。对产品进行查看、删除操作。

2.4.详细设计


2.4.1.网站整体设计


 
图—2网站整体框架
设计要点:
(1) 由于网站是在1024*768 分辨率环境下做出的,为了适应800*600分辨率,左右部分都留出了适当的距离。
(2)网站banner条和导航条是由Flash效果,是由Macromedia® Flash™ MX 2004做出的。
(3)网页布局进行整体规划,即使用HTML中的table标签
(4)背景颜色设置:<body topmargin="0" bgcolor="#808000">

2.4.2.新闻发布系统设计


1、 新闻发布系统流程图

图—3新闻发布系统数据流程图
2、news表设计
 
图—4new表设计图
(1)cont 设计成备注类型的这样最多可以容纳65535个字符。
(2)time默认值要设成date(),如图:
 
图—5设置字段 time
3、 后台新闻页面设计
(1)addnews.asp

 图—6新闻发布页面
①此页面用来添加新闻,当管理员登录后,点击导航栏中的发布新闻,就可以显示本页。这里用到了超链接和框架: <a href=news/addnews.asp target=mainFrame>发布新闻</a>;<a.</a>是超链接标签,target=mainframe表示所链接的网页在框架中显示。
②当管理员添加完新闻后,单击确定,通过数据库驱动程序新闻就添加到数据库中,并在显示页面中显示。
(2) editnews.asp


 
图—7编辑新闻页面
本页是用来确定对哪条新闻进行哪种操作。首先读取所有新闻,然后根据需要向删除(modify.asp)或修改(dellnews.asp)页面传递需要编辑的新闻的编号。
(3)modify.asp


 
 图—8修改新闻页面
   通过editnews.asp传递来的新闻编号,显示需要修改的新闻内容。管理员可以对新闻标题和内容进行修改。
(4) dellnews.asp


 
 图—9删除新闻页面
通过editnews.asp传递来的新闻编号,显示需要删除的新闻内容。单击确定实现新闻的删除。

4、显示页面设计
 (1) index.asp

①为了保证首页的风格,新闻在首页的显示条目为8条,并且是以时间到续方式来读取的:"SELECT * FROM news ORDER BY 编号 DESC"
②单击新闻进入详细新闻界面:<A HREF="news/viewnews.asp?<%= Server.HTMLEncode(MM_keepNone) & MM_joinChar(MM_keepNone) & "编号=" & Recordset1.Fields.Item("编号").Value %>"><%=(Recordset1.Fields.Item("title").Value)%></A>
   ③向viewnews.asp页面传递新闻编号。
(2)allnews.asp  
①显示公司的全部新闻标题
②用到了分页功能,根据页面的布局设置每页为18条
③向viewnews.asp页面传递新闻编号。
(3)viewnews.asp

 图—10详细新闻显示页面
  接收来自index和allnews页面传递来的新闻编号,显示具体新闻的详细内容。
2.4.3.在线报名系统设计
1、 报名系统数据流程图


 
 图—11产品添加系统数据流程图

2、 报名系统表设计

 
 图—14在线报名系统数据表
3、 产品添加系统前台页面(zxjs.asp)


 
图—15产品添加页面
   想通过网站报名的用户用此页面来填写自己的基本资料,填写好的数据将写入数据库。并在后页面(jieguo.asp)中显示供管理员来查看。
4、 产品添加系统后台管理页面
(1)查看产品页面(jieguo.asp)


 
 图—16前台查看页面

①    分页显示报名者的记录
②    向jieguodell.asp页面传递要删除的报名记录的编号
(2)删除报名页面


 
图—17后台删除页面
 显示通过jieguo.asp传递来的报名编号的报名者的资料,可以对这条记录进行删除。
2.4.4.在线留言系统设计
1、 留言系统数据流程图


 
2、留言系统数据表设计


 
 图—19留言系统数据表

3、显示留言页面(chat/index.asp)


 
 图—20留言系统留言显示页面
   ①分页显示用户的留言
   ②链接其它页面
此页面是用户用来发表留言的,在用户填写好留言后,数据将会写入数据库,并在chat/index.asp中显示。
5、留言管理页面
  (1) 回复留言页面
管理员可以用此页面对客户提出的问题进行回复。
(2) 修改留言页面(edit.asp)


 
图—23留言系统修改留言页面
      ①修改编号为由index.asp(管理员)传递来的新闻        
②管理员可以通过此页面对留言中存在的一些基本的错误进行修改。
   (3)删除留言(del.asp)
        ①删除编号为由index.asp(管理员)传递来的新闻。
   ②删除过时留言或恶意留言内容。
2.4.5.网页关键代码:
1、数据库连接
使用ODBC驱动程序对数据库创建连接
<%
Dim MM_xxnew_STRING
MM_xxnew_STRING = "Driver={Microsoft Access Driver (*.mdb)};DBQ="&server.mappath("db/xxnews.mdb")
%>
2、登录检验代码:
管理员登录后建立session变量
Session("admin")=username
权限的合法验证
<%
Function checkPermission()
If Session("admin")<>"" then
checkPermission=TRUE
Else
checkPermission=FALSE
End if
End Function
tmpadmin=checkPermission()
If tmpadmin<>TRUE then
response.redirect "login.asp? "/如果不能通过验证,转到页面longin.asp
End if
%>
3、创建记录集代码:
<%
Dim Recordset1
Dim Recordset1_numRows
Set Recordset1 = Server.CreateObject("ADODB.Recordset")
Recordset1.ActiveConnection = MM_xxnew_STRING
Recordset1.Source = "SELECT * FROM news ORDER BY id DESC"
Recordset1.CursorType = 0
Recordset1.CursorLocation = 2
Recordset1.LockType = 1
Recordset1.Open()
Recordset1_numRows = 0
%>
添加代码:
Recordset1.addnew
Recordset1 ("title")=title
Recordset1 ("content")=content
Recordset1.update

更新代码:
sql="update from Vote where ID="传递来的参数""
conn.Execute sql

删除代码:
sql="delete from Vote where ID="传递来的参数""
conn.Execute sql
4、关闭记录集
<%
Recordset1.Close()
Set Recordset1 = Nothing
%>
5、分页显示代码:
<%
Dim Repeat1__numRows
Dim Repeat1__index
Repeat1__numRows = 3
Repeat1__index = 0
Recordset1_numRows = Recordset1_numRows + Repeat1__numRows
%>
<% If Recordset1.EOF And Recordset1.BOF Then %>
<div align="center">暂时没有提交信息!</div>
<% End If %>
<% While ((Repeat1__numRows <> 0) AND (NOT Recordset1.EOF)) %>
<% If Not Recordset1.EOF Or Not Recordset1.BOF Then %>
要显示的内容部分………
<% End If%>
<%
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
Recordset1.MoveNext()
Wend
%>
<p>
目前共有<%=Recordset1.RecordCount%>条记录
从第<%=(Recordset1_first)%>条到第<%=(Recordset1_last)%>条
</p>
<p>
<A HREF="<%=MM_moveFirst%>">第一页</A>
<A HREF="<%=MM_movePrev%>">前一页</A>
<A HREF="<%=MM_moveNext%>">后一页</A>
<A HREF="<%=MM_moveLast%>">最后一页</A>
</p>
6、包含文件代码:
通过包含文件可以方便的对网页进行管理操作:
<!--#include file="文件路径" -->
7、空格输出问题的解决
在<head></head>中加入代码:
<SCRIPT RUNAT=SERVER LANGUAGE=VBSCRIPT>
function DoWhiteSpace(str)
DoWhiteSpace = Replace((Replace(str, vbCrlf, "<br>")), chr(32)&chr(32),"&nbsp;&nbsp;")
End Function
</SCRIPT>
然后在要输出的地方加入代码:
<%=DoWhiteSpace(Server.HTMLEncode(要输出的变量)%>
8、转到详细页面:
<%
Dim MM_paramNam,MM_keepNone,MM_keepURL,MM_keepFormMM_keepBoth,MM_removeList,MM_item ,MM_nextItem
MM_removeList = "&index="
If (MM_paramName <> "") Then
MM_removeList = MM_removeList & "&" & MM_paramName & "="
End If
MM_keepURL=""
MM_keepForm=""
MM_keepBoth=""
MM_keepNone=""
For Each MM_item In Request.QueryString
MM_nextItem = "&" & MM_item & "="
If (InStr(1,MM_removeList,MM_nextItem,1) = 0) Then
MM_keepURL = MM_keepURL & MM_nextItem & Server.URLencode(Request.QueryString(MM_item))
End If
Next
For Each MM_item In Request.Form
MM_nextItem = "&" & MM_item & "="
If (InStr(1,MM_removeList,MM_nextItem,1) = 0) Then
MM_keepForm = MM_keepForm & MM_nextItem & Server.URLencode(Request.Form(MM_item))
End If
Next
MM_keepBoth = MM_keepURL & MM_keepForm
If (MM_keepBoth <> "") Then
MM_keepBoth = Right(MM_keepBoth, Len(MM_keepBoth) - 1)
End If
If (MM_keepURL <> "")  Then
MM_keepURL  = Right(MM_keepURL, Len(MM_keepURL) - 1)
End If
If (MM_keepForm <> "") Then
MM_keepForm = Right(MM_keepForm, Len(MM_keepForm) - 1)
End If
Function MM_joinChar(firstItem)
If (firstItem <> "") Then
MM_joinChar = "&"
Else
MM_joinChar = ""
End If
End Function
%>
<A HREF="页面路径?<%= Server.HTMLEncode(MM_keepNone) & MM_joinChar(MM_keepNone) & "id=" & Recordset1.Fields.Item("id").Value %>">转到详细页面的链接</A>
9、滚动字幕实现
<SCRIPT language=JavaScript>
<!--
var index = 13
text = new Array(13);
text[0] =''
text[1] ='文本内容 '
text[2] ='文本内容'
.
.
.
text[13] ='文本内容'
document.write("<marquee  scrollAmount='1'  scrollDelay= '6' direction='up' width='158' height='168'  οnmοuseοver=this.stop() οnmοuseοut=this.start()>");
for (i=0;i<index;i++){
document.write (text[i] + "<br>");
}
document.write ("</marquee>")
10、CSS样式控制:
<link rel="stylesheet" href=" css文件路径" type=text/css>
A:link{TEXT-DECORATION:none ;Color:#000000}
A:active{TEXT-DECORATION:none ;}
A:visited{TEXT-DECORATION:none ;}
A:hover{Color:#4455aa}
td{font-size:9pt}
.jianju {
letter-spacing: 2px;
line-height: 200%;
}
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1695963.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux--线程的认识(一)

线程的概念 线程&#xff08;Thread&#xff09;是操作系统中进行程序执行的最小单位&#xff0c;也是程序调度和分派的基本单位。它通常被包含在进程之中&#xff0c;是进程中的实际运作单位。一个线程指的是进程中一个单一顺序的控制流&#xff0c;一个进程中可以并发多个线…

Django与前端框架协作开发实战:高效构建现代Web应用

title: Django与前端框架协作开发实战&#xff1a;高效构建现代Web应用 date: 2024/5/22 20:07:47 updated: 2024/5/22 20:07:47 categories: 后端开发 tags: DjangoREST前端框架SSR渲染SPA路由SEO优化组件库集成状态管理 第1章&#xff1a;简介 1.1 Django简介 Django是一…

hive3从入门到精通(二)

第15章:Hive SQL Join连接操作 15-1.Hive Join语法规则 join分类 在Hive中&#xff0c;当下版本3.1.2总共支持6种join语法。分别是&#xff1a; inner join&#xff08;内连接&#xff09;left join&#xff08;左连接&#xff09;right join&#xff08;右连接&#xff09;…

04.爬虫---Session和Cookie

04.Session和Cookie 1.Session2.Cookie3.详细对比4.Cookie属性结构5.一些误区 Session和Cookie是Web开发中用于用户状态管理的两种常见技术。理解它们的区别对于开发安全的Web应用至关重要。 1.Session Session代表服务器与客户端的一次会话过程。服务器端存储了Session对象&…

智能合作:多AI协同助力传统工作流

背景介绍 红杉资本2024 AI AGENT大会上吴恩达再次介绍了AI四大设计模式即&#xff1a; 反思&#xff08;Reflection)&#xff1b;工具使用&#xff08;Tool use&#xff09;&#xff1b;规划&#xff08;Planning)&#xff1b;多智能体协作(Multi-agent collaboration)&#…

spring模块(三)Spring AOP(2)使用

一、demo 1、spring项目 &#xff08;1&#xff09;pom <dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>4.3.13.RELEASE</version></dependency>&l…

数据分析工程师——什么是数据分析?

数据分析工程师 对于目前就业市场上的技术岗位,除了开发、测试、运维等常见职位之外,数据类岗位也越来越成为热门的求职方向。本文将重点介绍 数据分析 这一新兴岗位。 看到「数据分析」这几个字,也许大家的第一印象一样,觉得要做的工作似乎并不难,有大量数据后根据业务…

Redis分布式存储方案

一、Redis分布式存储方案 1、哈希取余分区 ①、原理 哈希计算&#xff1a;首先&#xff0c;对每个键&#xff08;key&#xff09;进行哈希计算&#xff0c;得到一个整数哈希值&#xff08;hash value&#xff09;。取余操作&#xff1a;将这个哈希值对服务器数量进行取余操作…

AI播客下载:The Logan Bartlett Show Podcast(AI创业投资主题)

Logan Bartlett Show Podcast是一个播客&#xff0c;主持人Logan Bartlett与科技界的领导者以及投资者进行对话&#xff0c;讨论他们在运营或投资企业中学到的经验教训&#xff0c;主要集中在科技创投领域。 Logan Bartlett 是 Redpoint Ventures 的投资人&#xff0c;并且在该…

AI视频智能分析引领智慧园区升级:EasyCVR智慧园区视频管理方案

一、系统概述与需求 随着信息技术的不断发展&#xff0c;智慧园区作为城市现代化的重要组成部分&#xff0c;对安全监控、智能化管理提出了更高的要求。智慧园区视频智能管理系统作为实现园区智能化管理的重要手段&#xff0c;通过对园区内各关键节点的视频监控和智能分析&…

八、函数和数组

8.1 函数 函数几乎是学习所有的程序设计语言时都必须过的一关。对于学习过其他的程序语言的用户来说&#xff0c;函数可能并不陌生。但是Shell中的函数与其他的程序设计语言的函数有许多不同之处。 8.1.1什么是函数 通俗地讲&#xff0c;所谓函数就是将一组功能相对独立的代码…

springboot+mysql在线考试系统-计算机毕业设计源码82584

摘 要 信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题。针对在线考试等问题&#xff0c;对如何通过计算…

Keli5烧写STM32程序时出现ST-LINK USB communication error错误(USB 通信错误)

1错误原图 2错误原因 前提驱动安装正确 原因1 usb接触不良&#xff08;极少出现&#xff09; 解决方法 更换USB线 还不行连下载器一起更换 原因2&#xff08;出现概率比较大&#xff09; 下载器的固件出现问题或下载器固件版本与Keli5的版本不匹配 解决方法 在Keli5的…

部署CNI网络组件+k8s多master集群部署+负载均衡

一、环境部署 主机服务 192.168.91.5 K8S集群master01192.168.91.8 K8S集群master02192.168.91.6K8S集群node01192.168.91.7K8S集群node02192.168.91.9 负载均衡nginxkeepalive01&#xff08;master&#xff09;192.168.91.10 负载均衡nginxkeepalive02&#xff08;backup&am…

「51媒体」如何与媒体建立良好关系?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 与媒体建立良好关系对于企业或个人来说都是一项重要的公关活动。 了解媒体&#xff1a;研究媒体和记者的兴趣&#xff0c;提供相关且有价值的信息。 建立联系&#xff1a;通过专业的方式…

哈希双指针

文章目录 一、哈希1.1两数之和1.2字母异位词分组1.3最长子序列 二、双指针2.1[移动零](https://leetcode.cn/problems/move-zeroes/description/?envTypestudy-plan-v2&envIdtop-100-liked)2.2[盛最多水的容器](https://leetcode.cn/problems/container-with-most-water/d…

SVM原问题与对偶问题

目的&#xff1a;求出我们的f(X)&#xff0c;它代表着我们X映射到多维的情况&#xff0c;能够帮我们在多维中招到超平面进行分类。 1.优化问题&#xff1a; 1.1推荐好书&#xff1a; 1.2 优化理论中的原问题&#xff1a; 原问题和限制条件如下&#xff1a; 这是一个泛化性…

006、API_单线程

Redis使用了单线程架构和I/O多路复用模型来实现高性能的内存数据库 服务&#xff0c;本节首先通过多个客户端命令调用的例子说明Redis单线程命令处理 机制&#xff0c;接着分析Redis单线程模型为什么性能如此之高&#xff0c;最终给出为什么理 解单线程模型是使用和运维Redis的…

【Java EE】网络协议——HTTP协议

目录 1.HTTP 1.1HTTP是什么 1.2理解“应用层协议” 1.3理解HTTP协议的工作过程 2.HTTP协议格式 2.1抓包工具的使用 2.2抓包工具的原理 2.3抓包结果 3.协议格式总结 1.HTTP 1.1HTTP是什么 HTTP&#xff08;全称为“超文本传输协议”&#xff09;是一种应用非常广泛的应…

IDEA主题Drcula个性化改造

Darcula 主题整体色调看着舒服&#xff0c;但是代码区分不直观&#xff0c;比如直接看代码是看不出这个这个是类、接口、抽象类、枚举还是啥&#xff0c;而且左侧图标也很难区分。 该主题基于Darcula主题对类、接口、抽象类、注解在编辑区按颜色做了区分&#xff0c;同时图标也…