演示地址
http://www.115000.com.cn/liuy/message/
本程序不够完善希望与大家共同学习分享!
表单页:post.asp
<form action="Post.asp?action=add" method="post" name="form" onSubmit="return post()">
<div id="addmsgcenter" class=post><div id="addmsgleft">
<div id="addmsgleftbody">
<div id=addmsgheight> 姓 名:</div>
<div id="middleline"><div></div></div>
<div id=addmsgheight> OICQ:</div>
<div id="middleline"><div></div></div>
<div id=addmsgheight> 主 页:</div>
<div id="middleline"><div></div></div>
<div id=addmsgheight> Email:</div>
<div id="middleline"><div></div></div>
<div id=addmsgheight> 内 容:</div>
</div>
<div id="addmsgright"><div id="addmsgrightbody">
<div id=addmsgheightright> <input type="text" name="username" size=50></div>
<div id="middleline"><div></div></div>
<div id=addmsgheightright> <input type="text" name="oicq" size=50></div>
<div id="middleline"><div></div></div>
<div id=addmsgheightright> <input type="text" name="homepage" value="http://" size=50></div>
<div id="middleline"><div></div></div>
<div id=addmsgheightright> <input type="text" name="email" size=50></div>
<div id="middleline"><div></div></div>
<div id=addmsgheightright> <textarea name="text" cols="60" rows="5" onpropertychange="this.style.posHeight=this.scrollHeight"></textarea></div>
</div></div>
</div></div>
<div align=center><br>
<input type="text" name="codestr" maxlength="4" size="8"><img src="../getcode.asp">
<input type="submit" name="Submit" value="提交" style="width:80;height=25">
<div id="middleline"><div></div></div>
</div>
</form>
数据处理:
sub add
username = Str.Get_Data("username")
oicq = Str.Get_Data("oicq")
homepage = Str.Get_Data("homepage")
email = Str.Get_Data("email")
text = Str.Get_Data("text")
text = checkStr(request.form("text"))
Posttime = now()
ip = Request.ServerVariables("REMOTE_ADDR")
strsourcefile = server.mapPATH("List.xml")
set objXML = server.CreateObject("microsoft.XMLDOM")
objXML.load(strsourcefile)
set objRootlist = objXML.documentElement.selectSingleNode("newlist")
if objRootlist.hasChildNodes then
id = objRootlist.lastchild.firstchild.text+1
else
id=1
end if
dim brstr
brstr=chr(13)&chr(10)&chr(9)
XMLnode=brstr&"<list>"&brstr & _
"<id>"&id&"</id>"&brstr & _
"<username>"&username&"</username>"&brstr & _
"<oicq>"&oicq&"</oicq>"&brstr & _
"<Posttime>"&Posttime&"</Posttime>"&brstr & _
"<ip>"&ip&"</ip>"&brstr & _
"<homepage>"&homepage&"</homepage>"&brstr & _
"<email>"&email&"</email>"&brstr & _
"<text>"&text&"</text>"&brstr & _
"</list>"&chr(13)
set objXML2=Server.CreateObject("Microsoft.XMLDOM")
objXML2.loadXML(XMLnode)
set rootNewNode=objXML2.documentElement
objRootlist.appendChild(rootNewNode)
objXML.save(strSourceFile)
set objXML=nothing
set objXML2=nothing
response.write "<script language=JavaScript>" & chr(13) & "alert(新增留言录入成功。\n\n返回新增留言页面);" & "window.location.href(post.asp);" & ""
response.End()
end sub
显示留言:main.asp见下页......$Page_Split$
dim strSourcefile,pageurl,allnodesnum,PageNum,PageNo,StarNodes,EndNodes
dim id,username,oicq,posttime,ip,homepage,email,text,i,n
strSourcefile = server.MapPath("list.xml")
set objXML = server.CreateObject("microsoft.FreeThreadedXMLDOM")
objXML.load(strSourcefile)
set objRootsite = objXML.documentElement.selectSingleNode("newlist")
pageurl="?"
allnodesnum = objRootsite.childNodes.length-1
PageSize =10
PageNum=AllNodesNum\PageSize+1
PageNo=request.querystring("Page")
if PageNo="" then
PageNo=PageNum
end if
StarNodes=PageNo*PageSize-1
EndNodes=(PageNo-1)*PageSize
if EndNodes<0 then
EndNodes=0
end if
if StarNodes>AllNodesNum then
EndNodes=EndNodes-(StarNodes-AllNodesNum)
(StarNodes-AllNodesNum)
StarNodes=AllNodesNum
end if
if EndNodes<0 then
EndNodes=0
end if
%>
<html>
<head>
<title>XML留言</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<h2 class=Title_right>
<div>
<a href="main.asp">留言首页</a>
<a href="Post.asp">签写留言</a>
</div>
<a href=list.xml target="_blank">数据库</a>
</h2>
<%
Do While StarNodes>=EndNodes
从结束节点到起始节点之间读取节点数据
id = objRootsite.childnodes.item(starnodes).childnodes.item(0).text 获得id
username = objRootsite.childnodes.item(starnodes).childnodes.item(1).text 获得用户名
oicq = objRootsite.childnodes.item(starnodes).childnodes.item(2).text 获得用户来自那里
posttime = objRootsite.childnodes.item(starnodes).childnodes.item(3).text 获得留言时间
ip = objRootsite.childnodes.item(starnodes).childnodes.item(4).text 获得ip
homepage = objRootsite.childnodes.item(starnodes).childnodes.item(5).text 获得用户主页
email = objRootsite.childnodes.item(starnodes).childnodes.item(6).text 获得用户Eamil
text = objRootsite.childnodes.item(starnodes).childnodes.item(7).text 获留言内容
text = replace(text,chr(13),"<br>")
替代回车
text = replace(text,chr(32)," ")
替代空格
%>
<div id="msgcenter" class=post><div id="msgleft">
<div id="msgleftbody">
<br>姓 名:<%=username%>
<br>时 间:<%=posttime%>
<br>I P:<%=IP%>
</div>
<div id="msgright"><div id="msgrightbody"><br>
<a target=blank href=http://wpa.qq.com/msgrd?V=1&Uin=<%=oicq%>&Site=<%=username%>&Menu=yes><img border="0" SRC=http://wpa.qq.com/pa?p=1:<%=oicq%>:8 alt="点击这里给[<%=username%>]留言"></a>
<a href="<%=homepage%>" target=_blank title="<%=username%>的主页"><img src="images_edit/web.gif" width="42" height="16" border="0"></a>
<a href="mailto:<%=email%>" title="给<%=username%>写信" target="_blank"><img src="images_edit/email.gif" width="42" height="16" border="0"></a>
<a href="?action=del&delid=<%=id%>" title=""><img src="images_edit/delete.gif" width="42" height="16" border="0"></a>
<a href="#" title="跳转页首"><img src="images_edit/top.gif" width="35" height="15" border="0"></a>
<br>
<div id="middleline"><div></div></div>
<br><%=ubb_htm(text)%><br><br></div></div>
</div></div>
<%
StarNodes=StarNodes-1
loop
%>
<div class=linktitle align=right name=foot>
<%
response.write "显示 <font color=red>"&PageSize&"</font> 条信息 共:<b>"&allnodesnum+1&"</b>条记录 共:<b>"&PageNum&"</b>页"
if cint(pageno)<>pagenum then
response.write "<a href="&pageurl&"page="&cstr(pageno+1)&">上一页</a>"
end if
if pageno+3 < pagenum then
response.write " [<a href="""&pageurl&"page="&pagenum&""">首页</a>] ..."
end if
if pagenum>pageno+3 then
endpage=pageno+3
else
endpage=pagenum
end if
i=endpage
n=1
Do While i>0 and i<=endpage
if not i<1 then
if i = clng(pageno) then
response.write " <font color=red>"&pagenum-i+1&"</font> "
else
response.write "<a href="""&pageurl&"page="&i&""">["&pagenum-i+1&"]</a>"
end if
end if
n=n+1
i=i-1
loop
if pageno > 4 then
response.write " ... [<a href="""&pageurl&"page=1"">尾页</a>] "
end if
if cint(pageno)<>1 then
response.write "<a href="&pageurl&"page="&cstr(pageno-1)&">下一页</a>"
end if
set objXML=nothing