人总是不满足现状的,我们要永无止步,拿下最后的任务吧。
上次做的留言板有了生命力,可以互动提交留言了,但不能这么泛滥下去,我们还要做个删除页,删除无用的垃圾,网上也需要环保哦^_^.
废话少说吧,我们开始建删除页,命名为del.asp。切换到代码视图中,把所有的HTML标签全部删掉,加入如下代码,见下图:

写完这些代码即完成了删除页的制作。让我们分析一下上面代码块的意思:
代码第三行:是删除语句,WHERE后面跟的是条件语句,只删除接受传递过来ID值的数据,这个很关键,一定要设好,否则会把数据表里的全部字段全部清空了,这也太恐怖了吧。 代码第四行:CONN对象执行DELESQL删除语句结果。 代码第五行和第六行:关闭CONN对象并设为空释放资源。 代码第七行:response.redirect是输出转向对象,表示删除后自动转向到首页去。
接着我们还要再做回复页,总得有来有回嘛,否则别人再大的热情你不回复,也会冷却下来的。所以很有必要哦:),新建reply.asp网页,在设计视图里先排好版,如下图:

注意红线的地方要加隐藏域,这样的目的是为了防止表单未提交但页面刷新却执行代码的错误,设置如上图. 排好后再切换到代码视图里,定位到HTML标签的最上面,加入如下红线框起来的代码,见下图:

以上代码块的意思有部分我已经在上面反复讲过了,不在重复了,如有不懂请在论谈提出来,我会补充的。这里我再说明一下回复的模块代码:
代码第四行:定位回复的位置,WHERE后面跟的是回复条件,只接受我们传递过来的留言ID值,并赋值到当前的ID变量上,这样我们只会对当前回复的留言页来回复,这个很关键,不然都乱套了。 代码第六行:用来判断是表单提交还是刷新页面,如果是提交表单,那么隐藏域的值肯定被提交,这样Request.Form("active")不为空,就执行以下回复语句.如果没提交表单,而是刷新页面,那么那么隐藏域的值没有提交,Request.Form("active")肯定为空,就跳过不执行. 代码第八行:注意此代码前没有加rsedit.addnew,因为这是更新原有的记录,在原有的留言中在追加回复内容,而不是再添加一条新记录。
回复的代码设置好,我们再回到设计视图环境中,先定位到要回复的留言旁边的单元格里,点击 后再点属性栏里的edit编辑按钮,弹出编辑框后填写代码“rsedit("content")”确定即可。如下图:

选中红色虚线表单,在action栏里填写如下:“reply.asp?id=<%=request("id")%>”,如下图:

回复页我们也做好了,是不是完事了?先别激动,还有一件事呢,忘了给首页index.asp的删除和回复还有发表新主题这三个加链接了,那不是空谈嘛,赶紧补上吧!链接设置见下图:
超简留言板的教程就到此结束了,是不是非常超简啊:),不知道大家收获怎么样?希望能反馈给我哦。在这里我把本教程的源代码提供出来,给大家一个方便,可以直接对照一下,祝你成功了!
编辑后话:幻想曲 还可以更人性化一点!比如如果用户没有填写OICQ或是EMAIL地址就不显示出来!当然,回复和删除是要经过登录验证的!这些东东我相信是作者留下来让朋友们自行完成的吧!鼓励一下这篇不错的教程!
作者虽然是在用DW,但没有依赖于DW自动生成的代码.这对于那些想学ASP而又一直借助于DW的朋友们来说确是一个不小的帮助! 另外:提交留言时是不是要把单引号屏蔽掉呢?不然SQL语句是很容易出错的!
作者后话:我已经有了完善版的大飞猪留言板,但考虑到是让学生更能入门,所以没有加上去,免得起不到效果,完善版的主要是加了权限功能,登录系统,主要是版主才能回复和删除才行的.这个会更多的,怕吓跑了初学者,有经验的学习者可以向我索要源代码!改日我再发布完善版的教材出来!
完善版的源文件下载
本文链接:http://www.blueidea.com/tech/program/2004/1571.asp
出处:
责任编辑:幻想曲
上一页 建立发表提交留言页 [3] 下一页
◎进入论坛网络编程版块参加讨论
|