Board logo

标题: 【原创】怎样开始一个ASP网站的设计 [打印本页]

作者: ycfbjx    时间: 2010-3-10 12:57     标题: 【原创】怎样开始一个ASP网站的设计

  (一)站点的功能

  “磨刀不误砍柴工”,先写出站点的功能,对以后的工作有很大的帮助。现在来设计一个留言本,功能如下:

  1、单用户版。只有一个管理员,所有人都可以留言,可以搜索留言

  2、记录下每个留言者的 IP,QQ,头像,姓名,主页,电子邮件,留言时间,留言内容;

  3、有管理员回复功能。如果已经回复,还可以更改回复的内容。记录回复的时间;

  4、记录主页的位置,以便快速回到主页。

  5、自定义的页头和页脚。显示特定的信息。

  6、将数据存到ACCESS数据库

  7、管理功能:管理员登录/回复/删除/更改管理员密码/更改显示的留言数/更改主页

  (二)站点数据库

  一般ASP站点都要用到数据库,首先设计好数据库,在使用时才不会为了一个字段而去查询或更改数据库的设计。特别是对大型的网站,好的数据库设计可以影响到整个网站的运行情况。现在我们来设计留言本的数据库:

  1、数据库名:lyb.mdb

  2、表:共有二个表

  表一: admin

字段名类型长度其它 说明
admin_user文本15不允许空值/主键管理员用户名
admin_pass文本 15 不允许空值 管理员密码
admin_http文本 50 可为空值 主页地址
admin_perpage 数字/整型 小数为0  

  表二: main

字段名类型 长度 其它 说明
user_id 自动编号   
user_name文本 15 不为空姓名
user_image 文本 30 不为空 头像文件名
user_ip 文本 15 不为空 IP地址
user_oicq 文本 10 可为空 QQ号
user_http 文本 50 可为空 主页
user_email 文本 50 可为空 电子邮件
user_time 日期 长日期  留言时间
user_ly 文本 255 不为空 留言内容
user_replay是/否  是否回复
user_rply文本255 可为空回复内容
user_rptime日期  长日期 回复时间


留言本的数据库比较简单,如果是大型网站,在数据库设计好后要反复检查。所有的字段名最好用命名标准,在数据库设计完成后,最好能打印出一份象上面的列表来,以方便使用。
 (三)站点的文件设计

  文件的设计主要是设计有多少个文件,每个文件分别包含哪些内容,以及之间的关系。以留言本为例,文件设计如下:

  1、 inc.asp 有关函数和常数,包括打开数据库函数,打开表函数,文字处理函数

  2、top.htm 页头信息

  3、bottom.htm 页脚信息

  4、index.asp 留言本主页面。包括显示留言,管理员登录,修改参数,回复留言。引用inc.asp;

  5、main.css css文件;

  6、tou.htm 头像列表文件;

  7、image 文件夹,存头像及其它图片;

  (四)站点的页面设计

  页面设计主要是设计页面的风格和布局。这部份内容比较多,一般是先定位整个页面的风格,然后设计所有的插图和Flash,再设计CSS,最后设计每个页面。对于页面有重复的内容,先设计单个的内容。这里仅列出index.asp的大致设计,如下:

'引用 inc.asp
<%
'处理参数
'留言子程序
'登录子程序
'回复子程序
'删除子程序
'修改参数子程序
'退出登录子程序
%>
<html>
<head>
<!-引用CSS-!>
<title>留言本</title>
<body>
'引用top.htm
'显示留言表单
'显示搜索表单
'显示留言记录
'引用bottom.htm
</body>
</html>

  当然,在页面设计阶段,并不要写出子程序,只要把显示的各部份做好就行了

  (五)站页的代码设计

  主要就是完成ASP代码的设计。在这里只谈谈如何让站点的可修改性和可移植性加强。只有一点:多用组件或者是函数,当然如果写成类就更好了。对于小站点,也不希望到每个页面的某个子程序再去用 set conn=server.createobject("adodb.connection"),而是把它写成一个函数或子程序,放在页面里,比如:

<%
databasename="lyb.mdb"
uid=""
pid=""
sub opendb(connect)
set connect=server.CreateObject("ADODB.connection")
connect.ConnectionString="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &_
server.MapPath(databasename) &";uid="&uid&";pid="&pid
connect.Open strconn
end sub
%>
 
作者: 蓦然囙首    时间: 2010-3-10 12:58

数据库是重头戏,呵呵
作者: 纸风铃    时间: 2010-3-10 12:59

不错,已阅。支持。




欢迎光临 110互动论坛 (http://bbs.110.com/) Powered by Discuz! 6.1.0