如果你觉得本站还不错,为方便下次访问,可以【加入收藏】 最快知道本站更新,请订阅切换到繁體中文
百姓生活网
首页 | 时尚女性 | 家有爱车 | 妈妈宝贝 | 美食厨房 | 亲亲大自然 | 爱上摄影 | 电脑学堂 | 我爱我家 | 健康人生 | 小小书房 | 壁纸下载 | 影视评论 | 学英语 | 商业
养殖 | 种殖 | 产业信息
子 栏 目 导 航: 电脑学堂硬件资讯 软件资讯 网页设计 实战地带 互联八卦 游戏世界
您现在的位置: 百姓生活网 >> 点点滴滴 >> 电脑学堂 >> 网页设计 >> ASP >> 正文
五:用DreamweaverMX2004做信息公告系统(详细图文)

作者:oldstone    文章来源:flash8    点击数:    更新时间:2005-11-2

本教程将学习如何在DW中制作一个简单的信息公告的发布系统。

( 作者:coldstone  来源:闪吧论坛  转载请注明出处 )

 

提示:你需要先自行设计该信息公告系统的页面样式,包括(首页index.asp、显示信息页showgg.asp,管理页:_admin_.asp(登录),_admi

n_add.asp(添加),_admin_manage.asp(管理),_admin_sucess.asp(成功提示),_admin_update.asp(修改),_admin_delete.asp(删除))

或者从下面的地址下载我已设计好的页面模板:
http://flash8.coldstone.cn/gonggao/Flash8_DW+ASP_GongGao_Sample.rar  (238K)
(解压密码:flash8.net ,模板中还包含设计好的mdb数据库和页面设计的PNG源文件)

Soft_Show.asp?SoftID=9

在学习本教程前,您需要掌握以下内容:

① 创建支持ASP的服务器
教程地址:
dispbbs.asp?boardID=20&ID=240544
② 使用Access数据库
教程地址:
dispbbs.asp?boardID=20&ID=241948
③ 设置Dreamweaver站点
教程地址:
dispbbs.asp?boardID=20&ID=243575
④ 在Dreamweaver中建立数据库连接
教程地址:
dispbbs.asp?boardID=20&ID=244169

一、数据库的设计:

这个系统比较简单,所以数据库的设计也相对简单,按照下面图中的说明进行设计就行了,需要注意的一点就是在g_addtime字段的默认值中需要填上now()。数据表名:GongGao:

按此在新窗口浏览图片

二、建立站点和创建数据库连接:

1、按照前面的教程中的方法建立站点,站点文件夹中应该包含你设计的页面文件,。

按此在新窗口浏览图片

2、切记在创建测试服务器的时候一定要保证IIS中已经有了相应的网站或虚拟目录,“前缀”中填写的一定要是可以通过浏览器输入访问到该网站的地址。

按此在新窗口浏览图片

3、按照前面教程中的方法建立数据库连接,连接名为“conn”。

按此在新窗口浏览图片

4、在“文件”面板中连接建立后双击/Connections文件夹下的conn.asp,把文件内容按前面教程中提到的方法修改,这是修改完成后的代码。

按此在新窗口浏览图片

三、首页的制作:

1、在“文件”面板中双击站点中的index.asp打开它,在“应用程序”面板集中的“绑定”面板中点击“+”号,在弹出的菜单中选择“记录集(查询)”。在弹出的对话框中作如下图的设置:

按此在新窗口浏览图片

这里说明一下,名称就是建立的记录集的名称,连接则是选择连哪个数据库的连接,表格就是数据库中的数据表,列就是要选择的字段。筛选是选择记录的条件,排序是指选择出来的记录在显示的时候以什么方式排序。点击“测试”可以看到建立的记录集的结果。
点击“高级”可以切换到“高级”对话框,能进行更复杂的SQL语句的录入。

建立记录集后,可以在“绑定”面板中看到如下图所示的记录集:

按此在新窗口浏览图片

2、在打开的index.asp中选中公告的标题部分,然后从“绑定”面板中选择“g_title”,在“绑定到”中选择“选定文本”(这是因为我事先在这个标题上做了链接),然后单击“绑定”。

按此在新窗口浏览图片

3、依次选择其它需要从数据库中调用显示的部分,在“绑定”面板中选择相应的字段,单击下面的“插入”按钮。

按此在新窗口浏览图片

4、选中日期部分“{rsgg.g_addtime}”,在“绑定”面板中g_addtime后面的下拉箭头处选择“日期/时间”>“长日期格式”,把时间格式化为“xxxx年x月x日”的样式。

按此在新窗口浏览图片

5、首页全部内容绑定后的效果如下图。现在把文件保存,然后按F12预览,已经可以看到把数据库中的内容显示出来了。不过只显示了第一条记录,所以我们接下来要做重复区域,让其它的记录也显示出来。把光标放在这一行中,点击下面“标签选择器”中的<tr>,选中这一行。

按此在新窗口浏览图片

6、然后点击“服务器行为”面板上的“+”号,在菜单中选择“重复区域”。

按此在新窗口浏览图片

7、在弹出的“重复区域”对话框中选择要重复的记录集和显示的条数。这里选择“rsgg”和“11”条。

按此在新窗口浏览图片

8、确定后就会在这一行的上面显示出“重复”的字样。

按此在新窗口浏览图片

现在再保存后按F12预览,可以看到已经按我们设定的显示了11条记录了。那么超过11条记录后其它的记录我想分页显示的话又该怎么办呢?这个在DW中实现起来相当的方便。

9、把光标放在下面我们想显示分页导航的地方,把“插入”面板切换到“应用程序”,在下图所示的按钮中选择插入“记录集导航条”。

按此在新窗口浏览图片

10、在弹出的“记录集导航”对话框中选择要分页的记录集,这里是rsgg,显示方式选择“文本”,点击“确定”。

按此在新窗口浏览图片

11、可以看到在刚才的光标处已经插入了分页导航条。

按此在新窗口浏览图片

12、可是仔细一看好像原来的单元格被撑高了一点,导航条的位置也太靠下了。这可不行,所以我们要来解决它。点击工具栏处的“代码”切换到代码视图。

按此在新窗口浏览图片

一下就看到了,原来多了一个“&nbsp;”空格符,删除它,OK搞定。

按此在新窗口浏览图片

13、分页的问题也解决了,显示已经没有问题了,就应该考虑如何在页面上进行交互了。首先要考虑的当然是我们如何通过点击标题的链接转到具体的公告内容页面上去?这个问题在DW中也很好解决。
选中首页中的标题,在“服务器行为”面板上单击“+”号,在菜单中选择“转到详细页面”。对,这个功能就是帮助我们通过点击不同的标题来转到不同的内容页面的。

按此在新窗口浏览图片

14、在弹出的“转到详细页面”对话框中进行如下图的设置(如果你用的我的模板的话,其实不用设置就是下面这样了):

按此在新窗口浏览图片

说明一下,链接就是点击页面上的哪个链接来执行“转到详细页面”的操作;详细信息页当然就是公告内容页了,这里就是showgg.asp;传递URL参数是指把本页的值用什么参数传递到详细页上,也就是链接中“showgg.asp?g_ID=xxx”中的g_ID,是可以自定义的;记录集和列就是选择传递哪个记录的哪个字段的值。如果该页本来就带有参数,又想把该参数传递到下个页面,还可以勾选下面的“URL参数”或者“表单参数”。

15、该页正常的功能我们都已经实现了,大家赶快奖励自己一下,呵呵。接下来我们要实现一个小功能。那就是当数据库中还没有记录的时候,我们要给出一些提示信息,比如“还没有新的公告”。
在原来的公告标题所在的表格下方再插入一个表格,里面输入“还没有新的公告!”,如下图所示。

按此在新窗口浏览图片

15、选中这个表格,在“服务器行为”面板中点击“+”号,在菜单中选择“显示区域”>“如果记录集为空则显示区域”。

按此在新窗口浏览图片

16、在弹出的对话框中选择判断是否为空的记录集,这里是rsgg,确定。

按此在新窗口浏览图片

这样的话在数据库中还没有记录的时候页面就会显示出“还没有新的公告!”了。
同样你还可以把有记录集的那个表格设置为“如果记录集不为空则显示区域”。

按此在新窗口浏览图片

17、首页的制作就要完成了。再检查一下,还有什么没有做呢?对了,还有个小小的图像“new”还没有用起来。我先来讲讲这里要实现的功能,就是当发布的公告的日期是今天的话,就显示这个“new”的图像表示是新的公告。怎么实现呢?看起来还比较难的样子,呵呵。不要担心,这个也很简单的。不过不是DW自带的功能了,我们需要在源代码上动它一动,呵呵。
选中小图像“new”,切换到“代码”视图。你可看到选中的代码是这样的:

<img src="images/news_new.gif" width="25" height="10">

现在把它改成这样的,也就是两头加上两句:

<% If Cstr(date())=left(rsgg.Fields.Item("g_addtime").Value,instr(rsgg.Fields.Item("g_addtime").Value," ")-1) Then %><img src="images/news_new.gif" width="25" height="10"><% End If %>

按此在新窗口浏览图片

其中,If ... Then 表示一个条件判断,该条件为真则执行下面的语句,也就是显示图片,End If 用来结束这个判断。
( If ... Then  ... [elseif ...] [else ...]  End if )可是一个非常常用的语句,大家一定要用得很熟练噢。
那么判断的条件中又是些什么东东呢?我们一点一点来看。
Cstr(date()),其中date()是获取今天的日期,Cstr()是把括号中的内容转化为字符型。为什么要转化为字符串呢?接着看下面的...
left(A,i)是指截取字符串A从左边数起一直到第i位...
instr(A,B)是判断B在A中出现的位置是第几位,这里的instr(rsgg.Fields.Item("g_addtime").Value," ")-1),就是判断空格出现在时间的第几位,举个例看看:2005-7-13 12:03:04,空格出现在第10位,再-1那就是9。再结合前面的left(),对了,等号后面的语句其实就是为了把时间中的日期取出来。由于这里截取过后已经是字符型了,所以前面也要转化为字符型才能进行比较(记住噢,相同的类型才能比较噢)。

说了这一大段,这个判断应该看明白了吧。不明白偶也真的没办法了。(汗!汗!汗!我是前朝遗民,还是来自火星...-_-!)

首页全部制作完毕!各位可以小憩一番了。等一下再继续。

四、公告详细内容页面的制作

我们现在开始来做公告系统的详细内容页,通过预览首页我们已经看到了在首页的公告标题链接上给出了一个?g_ID=xxx的参数来链接到详细内容页面showgg.asp,我们要做的就是获取这个参数值并通过该值来调用数据库的内容。

1、在“文件面板”中打开showgg.asp页,在“绑定”面板中点击“+”号,选择“记录集(查询)”,在弹出的记录集窗口中按下图进行设置:

按此在新窗口浏览图片

这里和首页建立的记录集差不多,区别就是这里用了“筛选”,因为我们要根据传递来的URL参数选择相应的记录(URL参数就是showgg.asp?g_ID=xxx中的g_ID,而xxx则是该参数的值)。因为筛选后的记录只有一条,所以就没有必要再“排序”了。

提示:ASP中,URL参数的值是通过语句  Request.QueryString("参数名")  来获取的。
也可以用  Request.QueryString()  来获取所有的参数。

2、按照刚才用过的方法把相应的字段绑定到页面上,绑定完成后的页面效果如下图:

按此在新窗口浏览图片

但是这其中有一个比较特殊,那就是“附件”:{rsggshow.g_filename},在这个字段的上面要做一个链接,链接的不是一个具体静态的页面,而是从数据库中动态的获取地址。

我们用下面的方法实现这一点。

4、选中页面上的{rsggshow.g_filename},点击属性面板中的“链接”后面的文件夹图标选择链接文件,在弹出的选择文件对话框中选择“数据源”,在从下面的“域”中选择“g_fileurl”,点击确定返回。

按此在新窗口浏览图片

然后在下面的目标中选择“_blank”,我们让它在新窗口中打开。这样动态的链接就做好了。

按此在新窗口浏览图片

5、还有一个特殊的部分,就是网页的标题我们也要从数据库中读取。这个需要在代码视图下完成。切换到代码视图,找到<title>部分,把g_title绑定到相应的位置。

按此在新窗口浏览图片

6、相关附件这一行还有一点就是只能在有附件的时候才显示,如果没有附件的话这一行要隐藏起来,这样才够人性化嘛。切换到代码视图,找到这一行。

按此在新窗口浏览图片

在这一行的<tr>和</tr>之外加上这样的语句:

按此在新窗口浏览图片

<% If (rsggshow.Fields.Item("g_filename").Value)<>"" Then%>
  <tr>
  .........(原来的内容)
  </tr>
<% End If %>

做一个判断,如果附件名为空则就不显示这一行了。

这样详细页面的大部分内容已经完成了,你可以从浏览器中预览首页,然后点击相应的标题看看详细页的完成情况了。多点几次你就会发现,那里的点击计数根本就没有变化。呵呵,那是因为我们还没有做点击计数嘛。好了,马上就来做这个。

7、在“绑定”面板上点击“+”号,在菜单中选择“命令(预存过程)”。

按此在新窗口浏览图片

8、在弹出的“命令”窗口中,名称填入“uphits”(可以自定义),连接选择conn,类型选择“更新”,在SQL框中输入:

UPDATE GongGao
SET g_hits = g_hits + 1
WHERE g_ID = rID

在“变量”后点击“+”号,添加一个变量,名称为“rID”(和上面SQL语句中的最后一个一致),运行值填写:

Request.QueryString("g_ID")

按此在新窗口浏览图片

这样就在这个页面添加了一个每访问一次g_hits就加1的命令,就实现了点击计数的功能了。但是这样并不完美,因为每次我们访问页面看到的都是上一次的计数,比如数据库中计数为0的话,你第一次打开它就直接显示0,可是你明明已经点击过了啊,应该是1才对。所以要在点击显示的代码中加上一个1:

按此在新窗口浏览图片

9、在设计数据库的时候大家就看到了,我专们设计了一个g_url的字段。这个字段的作用就是做一个URL转向,我们可以在公告的标题上直接链接到另一个URL地址而不用打开详细页面。有人会说这个简单啊,直接像做附件的链接一样在index.asp中就做一个动态链接嘛。当然我没有说这个方法不行,不过如果这样的话,又该怎样计算点击数呢?
所以我用了另一个方法来解决这个问题,在showgg.asp的<html>标记之前加上这样一段代码:

按此在新窗口浏览图片

<%
If (rsggshow.Fields.Item("g_url").Value)<>"" Then
     Response.Redirect(rsggshow.Fields.Item("g_url").Value)
End If
%>

这里也做了一个判断,如果g_url字段不为空的话就转到g_url所在的网址。Response.Redirect(A) 的意思是转到A这个页面。不过一定要注意,这一段代码一定要在点击计数的的代码之后。

这样又出现一个问题,在index.asp上点击标题后,如果g_url不为空,则就会转到g_url的页面,如果要返回首页岂不是只能点后退按钮?能不能用弹出窗口?当然是可以的,我们再打开index.asp,在代码视图中找到标题链接的那一段代码,在<a>标签中加入如下代码:

按此在新窗口浏览图片

<%If (rsgg.Fields.Item("g_url").Value)<>"" Then %>target="_blank"<% End If %>

这一句我就不解释了,看不懂的只有拖出去了……

啊,终于把详细页也做完了。哎,好像不太对,预览的时候为什么会觉得怪怪的?噢,发现问题了,详细内容页面中的公告内容都显示为一个段落了,原来的空格和换行都不在了。这样也太不美观了吧!所以一定要解决这个问题。

10、在showgg.asp的代码视图中,在<html>标签之前加上这样一段:

按此在新窗口浏览图片

<%
Function HTMLcode(fString)
If Not IsNull(fString) Then
 fString = replace(fString, ">", "&gt;")
 fString = replace(fString, "<", "&lt;")
 fString = replace(fString, "&#", "<I>&#</I>")
 
 fString = Replace(fString, CHR(32), "<I></I>&nbsp;")
 fString = Replace(fString, CHR(9), "&nbsp;")
 fString = Replace(fString, CHR(34), "&quot;")
 fString = Replace(fString, CHR(39), "&#39;")
 fString = Replace(fString, CHR(13), "")
 fString = Replace(fString, CHR(10) & CHR(10), "</P><P> ")
 fString = Replace(fString, CHR(10), "<BR> ")
 
 HTMLcode = fString
End if
End Function
%>

然后在下面页面中找到g_content所在的地方,把代码修改为:

按此在新窗口浏览图片

<%= HTMLcode(rsggshow.Fields.Item("g_content").Value) %>

又检查一遍,还是没有发现什么了,这下可以确定详细页面也做完了。啊,再不帖出去天都亮了,就不写废话了。管理页的教程明天继续。

五、管理页 - 添加公告页 的制作

1、打开站点文件夹中_admin_add.asp,把光标放在中间的表格中,在“插入”面板中的“应用程序”中选择“插入记录集表单向导”。

按此在新窗口浏览图片

2、在弹出的插入记录表单对话框中,连接选择conn,表格选择GongGao,插入后转到选择_admin_sucess.asp(这些意思大家应该都知道了吧)。在下面的表单字段中,我们只保留要在页面上输入的字段,其它的字段都删除(删除g_ID,g_addtime和g_hits)。

按此在新窗口浏览图片

3、其它的各项选中后在标签中把标签改为中文,显示为中选择该字段在页面中输入时显示的类型,后面还可以选择提交的类型。默认值中输入表单载入时就填写的值,这里只需要在附件地址的默认值中填写http://就可以了。注意要把内容的显示为选择为“文本区域”,因为要输入大段的文本。

按此在新窗口浏览图片

4、确定后就可以看到页面上插入了这样的内容。

按此在新窗口浏览图片

不过随着表单插入了一些阻碍排版的东东,我们切换到代码视图中,删除<form>前的&nbsp;和</form>后的<p>&nbsp;</p>。

5、合并最下面按钮所在的一行,将按钮的文字改为“添加公告”。

按此在新窗口浏览图片

6、为了能使内容输入框的可视区域加大,把行数改多一行,这里是15行。

按此在新窗口浏览图片

呵呵,添加公告页就做完了,是不是觉得相当的方便就像搭积木一样?F12一下吧。


六、管理页 - 管理公告列表页 的制作

1、打开站点文件夹中的_admin_manage.asp页面。我们首先要在这个页面上建立一个记录集,这个记录集和index.asp的记录集是完全一样的。所以我们直接把index.asp中已经建立的记录集复制过来即可。打开index.asp,在绑定面板中在“记录集(rsgg)”上单击右键,选择“拷贝”。

按此在新窗口浏览图片

2、切换到_admin_manage.asp,在绑定面板中单击右键,选择“粘贴”。就把这个记录集建好了,呵呵,这就叫资源的有效利用。_admin_index.asp可以关掉了。

按此在新窗口浏览图片

3、然后按照前面的方法把相应字段的内容绑定到页面中去,绑定后效果如图:

按此在新窗口浏览图片

4、我们这里还要做一下点击公告标题可以链接到showgg.asp的公告详细页面的效果。在index.asp中我们用的是“服务器行为”中的“转到详细页面”这样一个行为,在这里我们换一种方法来实现这一功能。
选中{rsgg.g_title},点击“属性”面板中“链接”后面的文件夹图标,在弹出的窗口中选择showgg.asp页面,然后点击“URL”后面的“参数”,打开参数对话框,点击“+”添加一个参数,在名称中输入“g_ID”,在值的后面点击闪电的小图标来选择一个动态值。

按此在新窗口浏览图片

在弹出的对话框中选择“记录集(rsgg)”中的g_ID字段,点击确定关闭所有对话框。这样{rsgg.g_title}就添加了一个链接,值为showgg.asp?g_ID=<%(rsgg.Fields.Items("g_ID").Value)%>,其中g_ID就是我们输入的参数,等号后面的就是选择的动态值。这样就达到了和index.asp中一样的效果。

按此在新窗口浏览图片

提示,如果你要在链接中传递多个参数,如:detail.asp?id=xxx&fclass=yyy&ftype=zzz
那么就可以在上面的操作中的“参数”对话框中添加多个参数和值即可,非常方便。比方便面还方便。

5、同样的,在这一行的“修改”和“删除”上也这样添加一个动态链接,一个链接到_admin_update.asp,一个链接到_admin_delete.asp。

按此在新窗口浏览图片

6、像我们在做index.asp的时候一样,在这一页上也加上“记录集重复”和“分页导航”,也可以加上没有记录的提示。把这些添加后的效果像下面这样。

按此在新窗口浏览图片

这样管理公告列表页面也做完了,好像都没有怎么动键盘,是不?不知道这个是不是可以叫做傻瓜型编程呢?好像不对,这不是在说自己是傻瓜,呵呵,还是收回这句话算了。

还等什么,F12一下吧!

七、管理页 - 公告更新页 的制作

如果我们录入公告的内容有错,那当然是要改滴。所以我们要做这个修改记录内容的页面。

1、在站点文件夹中打开_admin_update.asp,这里也要建立一个记录集,用来获取_admin_manage.asp页面传递过来的g_ID参数。呵呵,发现了吧,这个记录集和showgg.asp的记录集又是一样的。不用我说也知道该怎么做了吧?对,拿来主义喽!打开showgg.asp,把记录集复制到_admin_update.asp页来。

按此在新窗口浏览图片

2、我们这里可以用“更新记录集表单向导”来插入一个更新表单。方法和上面的添加记录集表单类似。不过我们这里要用另外一种方法来实现更新表单的建立。
首先用“插入”面板中的“表单”在图中的光标处插入一个表单(<form>)。

按此在新窗口浏览图片

3、在“属性”面板中修改表单的名称为“update”。

按此在新窗口浏览图片

4、打开_admin_add.asp,我们要借用这一页上面的文本框和表格排版,呵呵。把中间的整个表格复制。

按此在新窗口浏览图片

5、把刚才复制的表单粘贴到_admin_manage.asp页中的表单中,如下图所示。

按此在新窗口浏览图片

6、选择标题后的文本框,点击“属性”面板中“初始值”后面的小闪电按钮,在弹出的对话框中选择“记录集(rsggshow)”中的g_title,确定。把数据库中的值作为默认值显示到文本框中。

按此在新窗口浏览图片

7、依次把其它几个的默认值也进行上面的设置,设置完后的效果如下图:

按此在新窗口浏览图片

8、然后点击“服务器行为”面板中的“+”号,选择菜单中的“更新记录”,添加一个更新记录的行为。

按此在新窗口浏览图片

9、在弹出的“更新记录”对话框中,选择要更新的连接和表格,这里是conn和GongGao,选择相对应的记录,设定更新后转到的页面(_admin_sucess.asp)。下面选择获取值的表单以及字段的值。

按此在新窗口浏览图片

点击确定后,公告更新页就已经完成了。


八、管理页 - 公告删除页 的制作

1、删除页的制作就更简单了,只有短短的几步。打开_admin_delete.asp,和刚才的更新页一样把showgg.asp的记录集复制到该页;在中间的表格中插入一个表单并改名为“delete”;在表单中插入如图的文字和按钮,将g_title字段插入到相应的位置。

按此在新窗口浏览图片

2、然后点击“服务器行为”面板中的“+”号,选择菜单中的“删除记录”,添加一个删除记录的行为。

按此在新窗口浏览图片

3、在弹出的“删除记录”对话框中,设置要删除的记录的连接和数据表(这里还是conn和GongGao),选择相对应的记录,选择提交删除动作的表单,设定删除成功后跳转到的页面。确定就可以了。

按此在新窗口浏览图片

这样删除公告的页面也制作完毕了。这一套系统的显示、添加、更新、删除功能我们都已经实现了,成功就在眼前啦。

九、系统安全的处理

系统功能实现了但是事情还没有做完,试想一下,如果别人在浏览器中直接输入_admin_add.asp的地址岂不是就能直接发布公告?直接输入_admin_delete.asp?g_ID=n就可以删除公告?这样肯定是不行的,所以要做一点安全机制来保护一下。

1、首先在数据库中设计一个管理员用户表,有两个字段:adm_name和adm_pass分别用来存放用户名和密码。建立好后我们先打开表输入一个用户名和密码。

按此在新窗口浏览图片

2、打开_admin_.asp,我事先做好了一个登录表单。点击“服务器行为”面板上的“+”号,选择“用户身份验证”>“登录用户”。

按此在新窗口浏览图片

3、在弹出的登录用户对话框中,选择相应的用户名密码表单和数据库中的用户名密码字段。填写登录成功和登录失败分别跳转到的页面。

按此在新窗口浏览图片

这里我在登录成功转到页面中填写了_admin_manage.asp,也就是管理列表页面;而在登录失败转到中填写的是“_admin.asp?errinfo=密码不正确!”。为什么要加上后面一句呢?因为我要在登录失败后传递一个失败信息到页面,而这个信息在我们做了下面的改动之后将在登录失败时重新载入_admin_.asp时显示出来。

4、切换到代码视图,在<form>之前添加这样一段代码:

按此在新窗口浏览图片

<% If Request.QueryString("errinfo")<>"" Then %>
   <p align="center"><%= Request.QueryString("errinfo") %></p>
<% End If %>

这一句的意思就是如果URL参数errinfo不为空就显示这个errinfo的值。这一句非常有意思,因为我们可以判断不同的失败的操作后给出不同的"?errinfo=xxxx",这样错误信息就会直接显示出来,而如果没有URL参数,该页面则上不会显示这一段。这一点后面也会利用到。

5、这样解决了登录的问题,但还是没有解决直接输入页面地址进行访问的问题。下面我们就来实现这一点。

依次打开其他管理页面(除了_admin_logout.asp外的每个_admin_页面),点击“服务器行为”面板上的“+”号,在菜单中选择“用户身份验证”>“限制对页的访问”。

6、在弹出的对话框中选择“用户名和密码”以及访问被拒绝时跳转到的页面,我这里输入了“_admin_.asp?errinfo=请先登录管理!”,这里就用到上面说的那一点,这样在访问失败后跳转到_admin_.asp时,“请先登录管理!”的提示信息就会显示出来。

按此在新窗口浏览图片

这下直接输入地址时就无法进行正常操作了,而是会跳转到登录页了。

7、最后要解决的问题就是做出“注销登录”的功能,大家也看到了在我设计好的模板中,每个管理页下面都有一个“退出登录”的超链接,链接到了_admin_logout.asp这个页面。我们现在就要实现点这个链接转到_admin_logout.asp这个页面时就把当前已经登录的用户信息注销。

打开_admin_logout.asp,点击“服务器行为”面板上的“+”号,选择“用户身份验证”>“注销用户”。

在弹出的对话框中选择“页面载入”,并填写注销完成后转到的页面。

按此在新窗口浏览图片

我这里输入了“_admin_.asp?errinfo=注销成功!”,明白了吧,呵呵?

8、现在如果你要管理你就可以直接在地址栏中输入:http://你的服务器地址/_admin_.asp,然后输入用户名和密码登录了。我知道有人已经忍很久了,说为什么登录页要取这么一个文件名,还要输两次下划线,一点都不方便。呵呵,我要的就是不方便。我们后台管理的页面是不应该那么容易的被其他人获得的,虽然有密码保护,但是如果别人猜到了密码呢,甚至也可能穷举出密码的。也许有人会觉得无所谓,不过我还真是不习惯那种在首页放上“管理入口”的做法。(不过也许人家的技术够硬呢。-_-!)不说了,总之一句话,不推荐。

好了,本教程所有的内容都完成了。
你现在要做的就是改掉版权信息(如果你是自己设计的页面就不用了)后上传到服务器就OK了。

完成后的源程序下载:
http://flash8.coldstone.cn/gonggao/Flash8_DW+ASP_GongGao.rar  (121K 解压密码:flash8.net)

Soft_Show.asp?SoftID=10
最后,还有几句话要说说:
这个教程的重点在于介绍DW做ASP程序的基本步骤和要领,其中也穿插了一些VBScript语法以及ASP的一些对象的用法,重在基础,所以程序也并不真正完善,也有很多地方大家可以根据自己的想法进行更改和扩展。另外在实现同一个功能的情况中,我尽量用了不同的方法去实现,也是要大家了解要达到同一个目的其实有很多方法,并不局限于一个模式。

我下面也留了一点小问题让大家去解决,大家可以自己想办法实现,我也会在以后的教程中把这些问题的解决方法穿插进去:

问题一:把index.asp的标题前面显示的小箭头换成动态的小图标,要通过在添加公告的时候进行选择,然后显示出来。应该怎么做?
问题二:如果要把首页做成近三天的公告就显示“new”的小图标,又应该怎么做?
问题三:_admin_sucess.asp上面的提示很单调,都是说“操作成功!”,如果要换成不同的操作成功后显示不同的信息应该怎么做?比如“添加成功”、“修改成功”、“删除成功”等。

发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
  • 上一篇文章:

  • 下一篇文章:
  • 赞助商链接: | 阅读过这篇文章的网友,同时还还阅读了以下几篇文章:
    WIN2003 IIS默认不支持ASP的问题
    巧用asp木马和KV2004得到管理员权限
    如何防止ASP木马在服务器上运行
    用Dreamweaver MX 2004制作ASP动态网站(投
    关于动态网站制作的基础知识
    四:在Dreamweaver中建立数据库连接
    设置Dreamweaver站点(视频教程)
    access 数据库优化
    二:使用Access数据库及SQL基础
    IIS常见问题解答

    本栏目最近更新的图片文章:
    Google

    没有任何图片文章
    网友评论:(只显示最新10条。评论内容只代表网友观点,请注意礼貌用语,与本站立场无关!)

    ©2005 百姓生活网 www.y8u8.com 琼ICP备13000608号 网站地图