动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   DreamWeaver → 阅读文章

 Dreamweaver MX 2004设计留言本实战(5)

作者来源: 
阅读 3741 人次 , 2006-4-19 16:10:00 

  先做好一个这样的回复页:

Dreamweaver MX 2004设计留言本实战(5)



  然后建立记录集:

Dreamweaver MX 2004设计留言本实战(5)

Dreamweaver MX 2004设计留言本实战(5)

  再在"Application"工具组里找到"Record Update Form Wizard"(如图85),弹出跟"Record Insertion Form Wizard"类似"Record Update Form Wizard"对话框:

Dreamweaver MX 2004设计留言本实战(5)

  在"Form fields"中删掉"ID"和"Date",修改其余的"Label"为中文,"Content"、"Reply“的"Display as"为"Text area",参考图51、52所示的方法给"Content"和"Reply"加上"Encode - Server.HTMLEncode"格式化,"RDate"的"Display as"为"Hidden field","Default value"为"<%=Date%>",调整下界面后的效果:

Dreamweaver MX 2004设计留言本实战(5)

  最后不要忘了也给回复页加上页面保护:

Dreamweaver MX 2004设计留言本实战(5)

  最后一个页了,其实编辑页的功能跟回复页reply.asp差不多,甚至功能比回复页还弱,做法也是一样的,只不过是少了对回复字段"Reply"和回复的时间字段"RDate"的更新,所以,很容易就能把编辑页做出来:

Dreamweaver MX 2004设计留言本实战(5)

  页面都做完了,赶快输入http://localhost/guestbook/测试一下:

Dreamweaver MX 2004设计留言本实战(5)

  怎么显示“尚无留言记录”?呵呵~~这就对了,我们自己填写第一条留言,点击"留言"进入填写留言页,输入:

Dreamweaver MX 2004设计留言本实战(5)

  提交后转到了留言板首页,看看辛苦这么久的劳动成果:

Dreamweaver MX 2004设计留言本实战(5)

  发现问题了吧?

  1)页面被叹号撑大了
  2)多个连续空格只显示一个
  3)回车换行无效
  4)HTML竟然直接解释显示
  5)最可怕的是,在地址栏输入数据库的路径:http://localhost/guestbook/data.mdb可以直接下载数据库

  幸好问题发现得早,既然发现问题,那就逐个解决:

  1)修改 css.css 文件中的:

.thin {
border-collapse: collapse;
}

  改为:

.thin {
border-collapse: collapse;
table-layout:fixed;
word-wrap:break-word;
word-break:break-all;
}

  补充:因为IE6以下的浏览器对CSS的继承性支持不好,所以还需要修改 CSS 文件第一行的规则:

body,td,input,button,textarea{
font-family: Verdana, "宋体";
font-size: 11px;
color: #707070;
background-color: #F3F3F3;
}

  这样页面结构就不会被恶意留言破坏了

  2)在index.asp的HTML代码开始之前加上:

<%
Function&nbsp;HTMLEncode(Str)<br>Str=Replace(Str,"<","<") '把Str中的"<"替换成"<"
Str=Replace(Str,">",">") '把Str中的">"替换成">",
跟上面这行一起是屏蔽HTML代码的
Str=Replace(Str," ","&nbsp;") '把Str中的" "替换成"&nbsp;",解决多个连续空格只显示一个的问题
Str=Replace(Str,Chr(10),"<br>") '把Str中的回车符替换成"<br>",解决回车换行无效的问题
HTMLEncode=Str '返回经过上面字符替换后的Str
End Function
%>

Dreamweaver MX 2004设计留言本实战(5)

  然后修改绑定留言内容的那段代码为:

  <%=HTMLEncode(rs.Fields.Item("Content").value)%>

  同理修改绑定回复内容的代码,还有管理页admin.asp的相应部分代码

  3)因为数据库里明文保存着管理密码,所以对数据库的保护尤为重要。通常的做法是把数据库data.mdb的扩展名改为.asp(data.asp)或.asa(data.asa),再修改数据库连接字符串的代码(Connections/conn.asp):

MM_conn_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("/guestbook/data.mdb")

  为

  MM_conn_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("/guestbook/data.asp")

  或

  MM_conn_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("/guestbook/data.asa")

  不过需要注意的是这样还不安全,因为有些服务器配置不当,即使改了数据库文件的扩展名,但是知道具体路径的话用链接另存为的方法一样可以下载,所以最好的保护方法还是给数据库文件起一个长度适当且毫无规律复杂难记的名字。

  还有一个不知道是谁想出来的怪招,就是在数据库名字中加上一个"#"符号,例如改成dat#a.asp(数据库连接字符串也作相应改动),地址栏中输入http://localhost/guestbook/dat#a.asp看看,是不是显示“无法找到该页”的404错误?因为浏览器把"#"后的字符解释成锚点,所以文件名就变成了dat,而这个文件是不存在的,所以就显示404错误(文件或目录未找到)

  Dreamweaver MX 2004打造留言板的教程到这里全部结束了,所有代码及资源可以在这里下载:guestbook.rar

  留言板演示:http://x-lover.com/guestbook/   

 本文Tagsdreamweaver  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:Dreamweaver MX 2004设计留言本实战(4)
· 下一篇:DREAMWEAVER 技巧(上)
· 第七节 插入水平线、时间和特殊字符
· Dreamweaver未必了解的5个小技巧
· DreamweaverMX2004 多媒体教程(16)
· Ultradev实例教程:5 做一个相对简单的网站后台(3
· layer and table's question?


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077