ASP进阶教程Ⅴ:留言簿在线留言编辑(二)

2016-01-29 19:00 2 1 收藏

ASP进阶教程Ⅴ:留言簿在线留言编辑(二),ASP进阶教程Ⅴ:留言簿在线留言编辑(二)

【 tulaoshi.com - ASP 】

  如何给留言簿添加在线留言编辑的功能呢?综述起来我们大致可以将其分成以下三个步骤来实现。
步骤一:首先用第八章中所介绍的给每条留言的上面添加一个“删除留言”按钮的方法,在每条留言的上面再加添一个“留言编辑”的按钮。
步骤二:实现当我们单击“留言编辑”按钮时,从留言数据库中选取对应的留言记录以供“留言编辑”,见下图:
 
  很明显,这里的关键所在就是:如何才能从留言数据库中选取对应的留言记录以供我们编辑?实现该功能的程序被我存成了文件Edit.asp,请看下面:
......
< %
Set conn = Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("book2.mdb")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
Set cmd = Server.CreateObject("ADODB.Command")
Set CmdEdit = Server.CreateObject("ADODB.Recordset")
cmd.CommandText = "SELECT guestbook.* FROM guestbook WHERE (ID = " &             Request.QueryString("id") & ")"
cmd.CommandType = 1
Set cmd.ActiveConnection = Conn
CmdEdit.Open cmd, , 3, 1
%
'选取ID = " & Request.QueryString("id") & ")"的留言记录,因为该程序只是打开留言,并不需要更改留言内容,所以这里设定该留言记录为只读,以免破坏数据。其它参数的意义请大家参照上一章节的资料,我在这里不再重复说明。
< % memo = CmdEdit("留言") %
< % memo = Replace(memo,"< br",str) %
'将留言数据表单中“留言”字段的数据赋予留言编辑页面的memo文本域,并将数据转换成字符串,以便对其进行编辑。
......
< input type="TEXT" name="Name" size="20" value="< %=CmdEdit("姓名")%"
......
< input type="TEXT" name="Tel" size="20" value="< %=CmdEdit("电话")%"
......
< input type="TEXT" name="Subject" size="55" value="< %=CmdEdit("主题")%"
......
< textarea name="Memo" rows="6" cols="60"< %= memo %< /textarea
......
< input type="hidden" name="ID" value="< %=CmdEdit("ID")%"
< input type="submit" value="保存留言"
'分别将留言表单中的“ 姓名”、“电话”、“主题”和“留言”各字段的数据赋予各“留言编辑”页面中对应的文本域。
......  
步骤三:保存编辑后的留言(Editsave.asp)。
< %@ LANGUAGE="VBSCRIPT" %
< % Response.Buffer = "True" %
'设置将Web页面输出至缓存区。当一个Web页面输出至缓存区时,除非当前页的所有服务器端文件都已被处理完毕或者是程序中调用了Flush或End方法,服务器才将响应客户端浏览器。因此Response.Buffer一般都是放在.asp文件的第一行,放在其他位置可能会造成执行的错误。
< % ID = Request.Form("ID") %
'获取被编辑留言的“ID”序列号。
......
< %
Set conn = Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("book2.mdb")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
Set cmd = Server.CreateObject("ADODB.Command")
Set CmdEdit = Server.CreateObject("ADODB.Recordset")
cmd.CommandText = "SELECT guestbook.* FROM guestbook WHERE (ID = " & ID & ")"
cmd.CommandType = 1
Set cmd.ActiveConnection = Conn
CmdEdit.Open cmd, , 1, 3
%
< % NAME = Request.Form("NAME")
if NAME="" THEN
CmdEdit.Fields("姓名") = NULL
Else
CmdEdit.Fields("姓名") = NAME
END IF %
< % EMAIL = Request.Form("EMAIL")
if EMAIL="" THEN
CmdEdit.Fields("EMAIL") = NULL
Else
CmdEdit.Fields("EMAIL") = EMAIL
END IF %
< % memo = Request.Form("memo")
if memo="" THEN
CmdEdit.Fields("留言") = NULL
Else
memo = Replace(memo,str,"< br")
memo = Replace(memo,vbCr,"< br")
CmdEdi

来源:https://www.tulaoshi.com/n/20160129/1508098.html

延伸阅读
标签: ASP
  从本章开始我们将由一个简单的,利用文件储存访问留言的留言簿程序进入我们的教程。编写这样一个留言簿,我们大致可以从以下三个步骤来完成。 步骤一:先设计一个留言表单的网页(如:guestbook1.asp,这不用我在这儿说教了吧?)。见下图:   步骤二:在设计好留言表单后,我们开始进行编写处理留言的ASP程序。 我们...
标签: Web开发
在前面我们介绍了文件版本的留言簿,现在我们不妨来设想一下:如果留言文件里面的留言很多,而你又急于想寻找其中的某条留言时,这时打开txt留言文件,对着一段段的留言记录,你敢担保你不会当场晕倒吗?而且文件留言簿最令人讨厌还远不只是这个原因,更气人的是:譬如你已经找到了你要找的留言,而且是非要将其删除不可(当然是因为那段留言...
标签: PHP
  addnote.php <HTML <HEAD <meta http-equiv="Content-Type" content="text/html; charset=gb2312" <TITLE添加留言</TITLE <style type="text/css" <!-- .white12 {  font-size: 12pt; color: #FFFFFF; text-decoration: none} -- </style </HEAD <BO...
标签: ASP
  我们接上一部分继续讲解如何利用Command对象来执行SQL命令,实现“留言记录日期查询”和“留言簿过去五天留言记录查询”。但在应用Command对象来执行SQL命令之前我们必须在留言数据库中先建立查询,假如我们要查询的是“留言簿过去五天留言记录”,那么在留言数据库中建立查询的具体方法如下所示。(对于数据库,在Access中可以建立五种...
1、构造留言簿的结构     一个留言必不可少的是内容、其次是留言的日期和时间。和们就按这两点定义留言记录的结构。 strUCt record {     struct date t_date;        /*留言日期*/     struct time t_time;  &...

经验教程

530

收藏

8
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部