热点推荐
ZOL首页 > 软件资讯 > 软件学院 > 网页制作 > Dreamweaver MX 2004设计留言本实战(4)

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


PConline 【转载】 2004年11月30日 00:00 评论
    管理页admin.asp其实跟留言板首页index.asp功能差不多,所以可以直接把index.asp另存为admin.asp,然后加上管理功能:删除,编辑,回复,显IP:


  对于"删除"、"编辑"和"回复"的数据绑定很简单,主要是在链接的参数中传递当前留言的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,然后删除有服务器行为和一些不必要的表格:

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

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

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

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

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

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

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

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

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

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

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

看完本文后的感受:文章感受排行>>
频道热词:微信  手机QQ  12306  
视觉焦点
新浪微博