<p> 在开始设计一个ASP站点的时候,面对着一大堆的问题,到底要怎么样入手,才能让网站设计做到快,好,而且调试、更改,移植起来又方便呢?下面以留言本的设计为例子,谈谈站点的设计。</p><p> (一)站点的功能</p><p> “磨刀不误砍柴工”,先写出站点的功能,对以后的工作有很大的帮助。现在来设计一个留言本,功能如下:</p><p> 1、单用户版。只有一个管理员,所有人都可以留言,可以搜索留言</p><p> 2、记录下每个留言者的 IP,QQ,头像,姓名,主页,电子邮件,留言时间,留言内容;</p><p> 3、有管理员回复功能。如果已经回复,还可以更改回复的内容。记录回复的时间;</p><p> 4、记录主页的位置,以便快速回到主页。</p><p> 5、自定义的页头和页脚。显示特定的信息。</p><p> 6、将数据存到ACCESS数据库</p><p> 7、管理功能:管理员登录/回复/删除/更改管理员密码/更改显示的留言数/更改主页</p><p> (二)站点数据库</p><p> 一般ASP站点都要用到数据库,首先设计好数据库,在使用时才不会为了一个字段而去查询或更改数据库的设计。特别是对大型的网站,好的数据库设计可以影响到整个网站的运行情况。现在我们来设计留言本的数据库:</p><p> 1、数据库名:lyb.mdb</p><p> 2、表:共有二个表</p><p> 表一: admin
<table cellspacing="1" cellpadding="0"><tbody><tr><td>字段名</td><td>类型</td><td>长度</td><td>其它 </td><td>说明</td></tr><tr><td>admin_user</td><td>文本</td><td>15</td><td>不允许空值/主键</td><td>管理员用户名</td></tr><tr><td>admin_pass</td><td>文本 </td><td>15 </td><td>不允许空值 </td><td>管理员密码</td></tr><tr><td>admin_http</td><td>文本 </td><td>50 </td><td>可为空值 </td><td>主页地址</td></tr><tr><td>admin_perpage </td><td>数字/整型</td><td>小数为0 </td></tr></tbody></table></p><p> 表二: main</p><p> <table cellspacing="1" cellpadding="0"><tbody><tr><td>字段名</td><td>类型 </td><td>长度 </td><td>其它 </td><td>说明</td></tr><tr><td>user_id </td><td>自动编号</td></tr><tr><td>user_name</td><td>文本 </td><td>15 </td><td>不为空</td><td>姓名</td></tr><tr><td>user_image </td><td>文本 </td><td>30 </td><td>不为空 </td><td>头像文件名</td></tr><tr><td>user_ip </td><td>文本 </td><td>15 </td><td>不为空 </td><td>IP地址</td></tr><tr><td>user_oicq </td><td>文本 </td><td>10 </td><td>可为空 </td><td>QQ号</td></tr><tr><td>user_http </td><td>文本 </td><td>50 </td><td>可为空 </td><td>主页</td></tr><tr><td>user_email </td><td>文本 </td><td>50 </td><td>可为空 </td><td>电子邮件</td></tr><tr><td>user_time </td><td>日期 </td><td>长日期 </td><td>留言时间</td></tr><tr><td>user_ly </td><td>文本 </td><td>255 </td><td>不为空 </td><td>留言内容</td></tr><tr><td>user_replay</td><td>是/否</td><td>是否回复</td></tr><tr><td>user_rply</td><td>文本</td><td>255 </td><td>可为空</td><td>回复内容</td></tr><tr><td>user_rptime</td><td>日期 </td><td>长日期 </td><td>回复时间</td></tr></tbody></table></p><p> 留言本的数据库比较简单,如果是大型网站,在数据库设计好后要反复检查。所有的字段名最好用命名标准,在数据库设计完成后,最好能打印出一份象上面的列表来,以方便使用。</p><p> (三)站点的文件设计</p><p> 文件的设计主要是设计有多少个文件,每个文件分别包含哪些内容,以及之间的关系。以留言本为例,文件设计如下:</p><p> 1、 inc.asp 有关函数和常数,包括打开数据库函数,打开表函数,文字处理函数</p><p> 2、top.htm 页头信息</p><p> 3、bottom.htm 页脚信息</p><p> 4、index.asp 留言本主页面。包括显示留言,管理员登录,修改参数,回复留言。引用inc.asp;</p><p> 5、main.css css文件;</p><p> 6、tou.htm 头像列表文件;</p><p> 7、image 文件夹,存头像及其它图片;</p><p> (四)站点的页面设计</p><p> 页面设计主要是设计页面的风格和布局。这部份内容比较多,一般是先定位整个页面的风格,然后设计所有的插图和Flash,再设计CSS,最后设计每个页面。对于页面有重复的内容,先设计单个的内容。这里仅列出index.asp的大致设计,如下:</p><p> <code>'引用 inc.asp<br /><%<br />'处理参数<br />'留言子程序<br />'登录子程序<br />'回复子程序<br />'删除子程序<br />'修改参数子程序<br />'退出登录子程序<br />%><br /><html><br /><head><br /><!-引用CSS-!><br /><title>留言本</title><br /><body><br />'引用top.htm<br />'显示留言表单<br />'显示搜索表单<br />'显示留言记录<br />'引用bottom.htm<br /></body><br /></html></code></p><p> 当然,在页面设计阶段,并不要写出子程序,只要把显示的各部份做好就行了</p><p> (五)站页的代码设计</p><p> 主要就是完成ASP代码的设计。在这里只谈谈如何让站点的可修改性和可移植性加强。只有一点:多用组件或者是函数,当然如果写成类就更好了。对于小站点,也不希望到每个页面的某个子程序再去用 set conn=server.createobject("adodb.connection"),而是把它写成一个函数或子程序,放在页面里,比如:</p><p> <code><%<br />databasename="lyb.mdb"<br />uid=""<br />pid=""<br />sub opendb(connect)<br />set connect=server.CreateObject("ADODB.connection")<br />connect.ConnectionString="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &_<br />server.MapPath(databasename) &";uid="&uid&";pid="&pid<br />connect.Open strconn<br />end sub<br />%></code></p><p> 这样,当你改变数据库名或是用户名和密码的时候,很方便的能修改过来。经过一段时间的积累,你会有许多这样的函数或子程序,或是类,再做类似的站点的时候,只要整理出相关的放在一个文件里引用一下就好了。</p>