您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > Dreamweaver MX 打造我们的留言本
DreamweaverMX打造我们的留言本一大家好,我们又见面了。:)在前面几章里我们讲述了如何利用DWMX的服务器行为来操作数据库和生成动态页面,但是不是觉得有点乱,不怎么好理解呢?是的,前面我们讲的都是单个的服务器行为,好像都没什么联系一样。在这一章里呢,我们将学习如果灵活的应用DWMX的服务器行为--打造我们的留言本!(没错,就是留言本,将用到绝大部分的服务器行为,而且不用书写一行代码。)先做做准备工作,新建几个页面,分别取名为:index.asp:留言本首页,用于显示留言等。new.asp:发布新的留言。rep.asp:用于站长回复留言的页面。edit.asp:对一些不健康的留言内容进行编辑的页面。del.asp:同上,不过方法更狠,直接删除。:)login.asp:上面所说的回复,编辑,删除等操作都应只有站长才有权力,站长通过这个页面来登陆管理留言本。sorry.asp:登陆不正确的时候所返回的页面。如图(7-1)所示。7-1数据库方面我们需要用到两张表,如图(7-2)所示。其中表admin用于存放超级用户的姓名及密码,表f_bbs里存放的发贴信息,在后面我们会详细讲解。7-2在表admin里新建两个字段,名为f_name和f_password,数据类型分别设为文本,如图(7-3)所示。7-3表b_bbs就有点麻烦了,不过不用怕,让我们一步步来,先看图(7-4)。7-4字段ID为留言内容的关键字段,因为它的作用很多,把它的数据类型设为自动编号,并把它设置为主键,即选中它,再点一下图(7-4)中红圆中的按钮。f_name为留言用户的姓名,很简单的。f_content中存放的是留言内容,由于文本数据类型最多只能存放255个字符,对我们的留言内容来说少了点,所以这里要把它设置成备注,因为备注这种数据类型最多可以存放65,535个字符,完全够用了。:)f_oicq为留言用户的OICQ号码,设置同用户名。f_email为留言用户的Email地址,设置同用户名。f_homepage为留用户的主页地址,设置同用户名。f_time为提交留言的时间,这里要注意一下,数据类型要改成日期/时间,并要设置一个默认值。如图(7-5)所示。这个now()是一个VBA内置的函数,它的作用是当提交一条留言的时候如果不指明该字段的值,则系统会用当前的日期的时间来填充该字段。f_repcontent为站长回复的内容,同留言内容。不过要注意的是也要添加一个默认值,如图(7-6)所示。它的作用是如果当前这条留言内容还没有回复的话则显示“暂无回复”。要注意那两个双引号哦,一定要在英文输入状态下的才行,如,如果中文下输入的“”则就会报错。7-57-6准备好数据库后就轮到我们的主角了,index.asp,这个页面用于显示留言和一些功能性的连接,先来看看它的大体样子,如图(7-7)所示。同时要记得建立记录集,取名为guestbook。7-7在这里我只是为了方便起见,所以没用什么图片,大概的样子就是上面这样了。最重要的就是要显示留言人的姓名,留言内容和站长回复,下面的暂无回复是用来确保当没有任何留言内容的时候所显示的,这样也能保证了不会出错。那么可能有些细心的读者会问到,我在上面数据库里建立的像OICQ号码和主页地址怎么还没看到呢?呵。。不用急,这些当然要用到,见图(7-8),这是一个基本成型的样子了。7-8怎么样,OICQ、邮箱、主页、发表时间都出来吧,看起来好像又蛮麻烦的。不用怕,其实都很简单,只是几个小小的服务器行为而已,let'sgo!!我们一步一步来吧。在前面我们提到,先要保证留言的正常显示就要做到在有留言的时候才显示留言,如果没有留言则显示“暂无留言”,那这些在DWMX里怎么做呢??在这里呢,我们要学习一个新的服务器行为showregion(显示区域),即根据库里的资料来显示不同的资料。先说说它的基本概念吧,拿我们上面的留言内容来打个比方:如果我留言内容为空,则显示什么;如果留言内容不为空,则又显示什么。如图(7-9)所示。7-9DreamweaverMX打造我们的留言本二选中整个留言内容表格后运用Application--ServerBehaviors--ShowRegion--ShowRegionIfRecordsetIsNotEmpty(当记录集不为空),也就是当留言内容不为空时显示这个表格。说到这里就不得不说说其它几个服务器行为了。ShowRegionIfRecordsetIsEmpty(如果记录集为空):当记录集为空时,显示选中的区域。showRegionIfRecordsetIsNotEmpty(如果记录集不为空):当记录集中包含记录时,显示所选区域。ShowRegionIfFirstRecord(如果是第一条记录):当处于记录集中的第一条记录时,显示选中的区域。ShowRegionIfNotFirstRecord(如果不是第一条记录):当没有处于记录集中第一条记录时,显示所选的区域。ShowRegionIfLastRecord(如果是最后一条记录):当处于记录集中最后一条记录时,显示所选的区域。ShowRegionIfNotLastRecord(如果不是最后一条记录):当没有处于记录集中最后一条记录时,显示所选的区域。单击它,出现如图(7-10)所示对话框。7-10在这个对话框中选择与本行为对应的记录集,在这个页面我们只建立了一个记录集,名字为guestbook。应用服务器行为后的效果如图(7-11)所示。7-11为了防止当没有留言内容的时候会出错,在这里我们还要运用ShowRegionIfRecordsetIsEmpty(当记录集为空时)行为,把它运用到“暂无留言”的表格上,最终效果如图(7-12)所示。7-12下一步,让我们来完善它,通过在显示留言的大表格里插入一些小表格,排好,并插入相关图片(这里放的是网上最常见的小图片。:)),如图(7-13)所示。这里是一些最基本的Dreamweaver表格功夫,详情情参见本系列教程其它章节。7-13现在要做的呢,就是把数据库里的数据拖到相应表格里,如把用户名拖到姓名后面的单元格里,留言内容要放到留言内容后的单元格里,记得把f_name拖到发表于前面,f_time拖到发于于后面,这样显示的时候就变成了“XX发表于XX”。见图(7-14)所示。7-14这里有个小小的bug,即我们所显示的留言无法进行格式化,即你会发现在你的留言中无论有多少个回车,在显示的时候都不会换行,并且两个以上的空格都会变成一个空格。这个问题可以利用spdformat.mxt插件来解决(点这里下载插件!)。安装好插件后,方法如图(7-48)所示。留言内容和站长回复都要运用这个插件。7-48可能又人要问了,那我数据库里那些OICQ之类的怎么做啊。这个呢,不知道大家知不知道html里img标签的一个alt属性,即鼠标移上去的时候显示相应的说明文字。在这里呢,我们把它和图片进行相应的动态绑定。至于主页地址则做成点击后联接到相应的地址就行了,邮箱呢就点击后打开OUTLOOK对留言者发信。具体方面如图(7-15)所示。7-15这里有个先后顺序之分,先选中OICQ的图片,再从右边的记录集里选定相应的数据集(这里选中数据库里存放OICQ号码的字段(f_oicq),再从BindTo:下拉菜单里选择img.alt,即我们在前面讲到的img标签属性,再单击后面的Bind就行了,如果绑定正确的话则会产生和前面记录集一样的颜色,以标明在这里应用了一个服务器行为,如图(7-16)所示。在这里呢我们还要将它美化一下。7-16打开源码和设计视图,你会发现刚才插入的东东在代码里是alt=,COPY这段代码放到它的前面,并把其中的f_oicq改成f_name(数据库里发贴人的姓名字段),使它的最终代码为alt=的OICQ号码是,这样当它显示的时候便为“XX的OICQ号码是XX”,都动态绑定了,多好啊,呵。。7-17OK,接下来就是邮箱和主页地址了,和前面的做法稍有点不同,如图(7-18)和(7-19)所示。7-187-19同样,要注意有个顺序,先选中邮箱这个图片,再从下面的属性面板中点击Link按钮。出现如图(7-20)所示的对话框,这里的意思就是如果点击这张图片的话连接到哪里去。7-20以前呢,我们这个功能是连接到本地的某个页面去,但在DWMX里我们能通过选择DataSources连接到动态的页面去。这里我们从记录集中email的字段,并记得在前面加上“mailto:”这里为什么加这个呢?是因为这个“mailto”是个html标签,即连接以OUTLOOK打开来发信。同时,记得要给这个email图片加上alt属性,即alt=的邮箱是,点击这里给他/她发信。主页地址的连接方法如图(7-21)所示。7-21绑定好连接后记得对图片加上alt属性,改成alt=的邮箱是,点击这里给他/她发信是的,这里的确有点烦燥,不过加油吧,胜利在向我们招手呢。:)看看现在的效果吧,如图(7-22)所示。7-22接下来要做的呢,就是给回复该主题和编辑、删除加上连接,并动态化。这里运用的服务器行为是跳转到细节页(GoToDetailPage)。在前面我们建立了回复页(rep.asp),编辑页(edit.asp)和删除页(del.asp),在这里我们也不一一详述如何进行连接了,效果如图(7-23,7-24,7-25)所示。7-237-247-25做好上面这三步后还要记得做一件事哦,如果我们留言内容有很多条怎么办??这里要用DWMX服务器行为中的RepeatRegion(重复区域),选中显示留言的整个大表格,Application--ServerBehaviors--RepeatRegion,如图(7-26)所示。7-26我们定义它为每页显示14条记录,这样看起来简练一点,单击OK按钮。做到这一步的时候不得不考虑一个问题了,浏览的用户怎么知道我有多少条留言记录呢??其实当我们在建立记录集的时候,DWMX早就为我们考虑好这些了,如图(7-27)所示。7-27Firstrecordindex:索引中的第一条记录。Lastrecordindex:索引中的最后一条记录。totalrecords:所有记录总和。有了这些,我们要做的只是把他们拖到页上去,加上相应的说明文字就行了,如图(7-28)所示。7-28坚持,就要成功了!我们还需要一个导行条,因为前面我们用到了RepeatRegion(重复区域),如图(7-29)所示。7-29Insert--ApplicationObjects--RecordsetNavigationBar(插入--应用程序对像--记录集导行条),点击后出现如图(7-30)所示对话框。7-30Recordset:这里选择要导行的记录集。DisplayUsing:这里选择导行条的显示方式,text为文字,images为图片,这里我们选择images。单击OK按钮,显示效果如图(7-31)所示。7-31可能它太大了,我们可以把这个表格缩一下,选中这个表格后在属性面板里把它的width=50%改成width=15%就行了,最终效果如图(7-32)所示。DreamweaverMX打造我们的留言本三现在进行最后完善阶段,把“发表新主题”连接到new.asp页面,下面的“管理人员入口”连接到login.asp页面,“退出登陆!”上运用一个服务器行为,这个功能其实是为超级用户准备的。如图(7-33)所示。7-33UserAuthentication:用户鉴定。LogOutuser:登陆用户退出。单击后出现如图(7-44)所示对话框。7-44LogOutWhen:哪种方式退出登陆,Linkclicked:当点击这个连接后就退出。PageLoads:当页面关闭后就算退出。WhenDone,GoTo:当退出后转到哪个页面,这里我们定义转到index.asp首页。还有在上面看到的其实也是为超级用户准备的,当你没有登陆的时候就显示“欢迎您”,如果有超级用户登
本文标题:Dreamweaver MX 打造我们的留言本
链接地址:https://www.777doc.com/doc-5017 .html