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

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

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

  管理页admin.asp其实跟留言板首页index.asp功能差不多,所以可以直接把index.asp另存为admin.asp,然后加上管理功能:删除,编辑,回复,显IP:

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

  对于"删除"、"编辑"和"回复"的数据绑定很简单,主要是在链接的参数中传递当前留言的ID号,参考"QQ"的绑定方式,完成后的链接地址分别为:

  "删除":delete.asp?id=<%=(rs.Fields.Item("ID").Value)%>
  "编辑":edit.asp?id=<%=(rs.Fields.Item("ID").Value)%>
  "回复":reply.asp?id=<%=(rs.Fields.Item("ID").Value)%>

  需要注意的是,由于admin.asp页是由index.asp页另存来的,而index.asp页所建的记录集里没有选择到"ID"字段,所以在这里必须把"ID"字段选进来,方法:

  1)在服务器行为面板中双击"Recordset(rs)",重新选择字段
  2)也可以直接在源码中找到rs.Source = "SELECT Content, Date, Email, Homepage, ICON, IP, Name, QQ, RDate, Reply FROM main ORDER BY Date DESC" 这行,改为rs.Source = "SELECT ID, Content, Date, Email, Homepage, ICON, IP, Name, QQ, RDate, Reply FROM main ORDER BY Date DESC"

  对于IP的相关绑定,完成后代码为:

  来自:<%=ip(rs.Fields.Item("IP").Value)%>[IP:<%=(rs.Fields.Item("IP").Value)%>]

  这里用到一个叫ip的Function过程来查询访客IP在数据库表address中对应的国家和城市,代码如下:

<%
Function ip(sip)
Dim iparr,iprs,country,city
'IP为127.0.0.1时相当于192.168.0.1
If sip="127.0.0.1" then sip= "192.168.0.1"
‘以点"."为界切割字符串sip,如果sip为“192.168.0.1”,则切割后得到的数组iparr(0)="192",iparr(1)="168",iparr(2)="0",iparr(3)="1"
iparr=split(sip,".")
'通过计算转换,使IP地址跟数据库中的数据联系起来
sip=cint(iparr(0))*256*256*256+cint(iparr(1))*256*256+cint(iparr(2))*256+cint(iparr(3))-1

'连接数据库,查询数据库字段ip1和ip2满足关系ip1<=sip<=ip2的记录
Set iprs = Server.CreateObject("ADODB.Recordset")
iprs.ActiveConnection = MM_conn_STRING
iprs.Source = "SELECT Top 1 city, country FROM address WHERE ip1 <=" & sip & " and " & sip & "<=ip2"
iprs.CursorType = 0
iprs.CursorLocation = 2
iprs.LockType = 1
iprs.Open()

'判断数据库中有无记录即无相应IP地址的信息时的处理
If iprs.bof and iprs.eof then
country="未知地区"
city=""
Else
country=iprs.Fields.Item("country").Value
city=iprs.Fields.Item("city").Value
End If
ip=country&city

iprs.Close()
Set iprs = Nothing
End Function
%>

  参考DW自动生成的代码,把这段代码加到HTML代码开始之前

  有管理页,当然就有登陆页,只有验证通过后才能进入到管理页进行管理。还是用老方法,随便用一个之前做好的页面(比如insert.asp)另存为login.asp,然后删除有服务器行为和一些不必要的表格:

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

  光标定位到第三行的单元格,然后通过“Forms"工具组的按钮和表格完成如下表单的制作:

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

  "用户"输入框代码:<input name="Username" type="text">
  "密码"输入框代码:<input name="Password" type="password">

  表单制作完成后应用服务器行为面板上的"Log In User"命令:

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

  在弹出的"Log in User"对话框里设置如下:

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

  保存后在IE里测试,不过别忘了先在数据库中添加管理员帐号:

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

  这样只有当输入用户名admin和密码admin后才跳转到admin.asp页,否则一直在login.asp页,不过,现在直接输入admin.asp看看,是不是不登陆也可以直接进入管理页?这就对了,因为我们没有对admin.asp添加页面保护,重新打开admin.asp,在服务器行为面板上给页面应用"Restrict Access To Page"命令:

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

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

  有登陆当然就有退出登陆,所以选中admin.asp里的"管理"修改为"退出",并应用服务器行为"Log Out User"

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

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


   参照图70的做法,另存出一页delete.asp,并修改如下:

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

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

  再单击"HTML"工具组中的"Refresh"项(图80),弹出"Refresh"对话框,设置如下:

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

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

  点击服务器行为面板上的"Command"命令,在弹出的对话中设置如上:

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

  参照75、76的方法,给delete.asp页也添加页面保护
  

 本文Tagsdreamweaver  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:Dreamweaver MX 2004设计留言本实战(3)
· 下一篇:Dreamweaver MX 2004设计留言本实战(5)
· 快速图片链接批处理
· 为Dreamweaver制作插件
· DreamWeaver,经典50问(目录)
· DW MX实例:实现全景图浏览
· 第十二节 客户端图像映射


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