请问,能不能不用数据库用 XML 写一个留言版???
请教高手
请问,能不能不用数据库用 XML 写一个留言版???
能不能提供思路或者代码~~????
谢谢!~~
问题点数:100、回复次数:5Top
1 楼purexu(NetRube的马甲)回复于 2003-09-03 19:54:21 得分 0
当然可以,用XML储存留言,只是留言多时的速度问题Top
2 楼purexu(NetRube的马甲)回复于 2003-09-03 20:00:43 得分 33
<%@ Language=VBScript %>
<%
Option Explicit
Dim FilePath
Dim FileName
Dim uName
Dim uEmail
Dim uWebsite
Dim uComment
Dim uDate
Dim xmlPass
Dim xmldoc
Dim Root
Const xmlFile ="bbs.xml"
Const TopPage ="../"
Const bbsURL ="xmlbbs.asp"
Const CookieName="KOBABBS"
Const CookieDay =120
uName=Request("name")
uEmail=Request("email")
uWebsite=Request("website")
If uWebsite="http://" Then uWebsite=""
uComment=Request("comment")
xmlPASS =Server.MapPath("./" & xmlFile)
Set xmldoc=Server.CreateObject("Microsoft.XMLDOM")
xmldoc.async=false
xmldoc.load(xmlPASS)
Set Root=xmldoc.documentElement
If uName<>"" And uComment<>"" Then
Response.Expires = -1
Application.Lock()
call AppendData()
call setCookies()
Application.UnLock()
End If
%>
<HTML>
<STYLE TYPE="text/css">
<!--
BODY{
width:760px;
text-align:center;
background-color:#FFFFF1;
}
a{
color:#FF0000;
text-decoration:underline
}
a:hover{
color:red;
text-decoration:none
}
H1{
width:750px;
color:#FFFFFF;
background-color:#66CCFF;
padding:3px;
font-family:"Times New Roman";
font-size:18pt;
}
.hontai{
width:750px;
text-align:left;
}
-->
</STYLE>
<SCRIPT TYPE="text/JavaScript">
<!--
function inpCheck() {
if (document.myForm.name.value.length == 0||document.myForm.comment.value.length == 0) {
alert('请输入姓名和内容。');
return(false);
} else {
return(true);
}
}
//-->
</SCRIPT>
<HEAD>
</HEAD>
<BODY>
<H1>XML留言板</H1>
<DIV class="hontai">
<HR>
<BR>
留言数据保存在<A HREF="<%=xmlFile%>" TARGET="_blank"><%=xmlFile%></A>文件中。
<%
call InputBox()
call WriteData()
Set xmldoc=Nothing
%>
</DIV>
</BODY>
</HTML>
<%
Sub InputBox()
%>
<Form method="post" Action="<%=bbsURL%>" name="myForm" onSubmit="return inpCheck();">
<TABLE>
<TR><TD>姓名:</TD><TD><INPUT TYPE="text" name="name" SIZE="20" value=""" & getCookies("name") & """></TD></TR>
<TR><TD>E-mail:</TD><TD><INPUT TYPE="text" name="email" SIZE="40" value=""" & getCookies("email") & """></TD></TR>
<TR><TD>URL:</TD><TD><INPUT TYPE="text" name="website" SIZE="40" value=""" & getCookies("url") & """></TD></TR>
<TR><TD>内容:</TD><TD><TEXTAREA NAME="comment" COLS="60" ROWS="6"></TEXTAREA></TD></TR>
<TR><TD COLSPAN="2"><Input Type="submit" value="提交"></TD></TR>
</TABLE>
</Form>
<hr>
<%
End Sub
Sub AppendData()
Dim NodePage
Dim NodeName
Dim NodeDate
Dim NodeEmail
Dim NodeUrl
Dim NodeComment
Dim TextPage
Dim TextName
Dim TextDate
Dim TextEmail
Dim TextUrl
Dim TextComment
Set NodePage=xmldoc.createElement("page")
Set NodeName=xmldoc.createElement("name")
Set NodeDate=xmldoc.createElement("date")
Set NodeEmail=xmldoc.createElement("e-mail")
Set NodeURL=xmldoc.createElement("url")
Set NodeComment=xmldoc.createElement("comment")
Set TextName=xmldoc.createTextNode(uName)
Set TextDate=xmldoc.createTextNode(now())
Set TextEmail=xmldoc.createTextNode(uEmail)
Set TextUrl=xmldoc.createTextNode(uWebsite)
Set TextComment=xmldoc.createTextNode(uComment)
NodeName.appendChild(TextName)
NodeDate.appendChild(TextDate)
NodeEmail.appendChild(TextEmail)
NodeURL.appendChild(TextURL)
NodeComment.appendChild(TextComment)
NodePage.appendChild(NodeName)
NodePage.appendChild(NodeDate)
NodePage.appendChild(NodeEmail)
NodePage.appendChild(NodeUrl)
NodePage.appendChild(NodeComment)
Root.appendChild(NodePage)
xmldoc.save(xmlPASS)
End Sub
Sub setCookies()
Response.Cookies(CookieName)("name") = uName
Response.Cookies(CookieName)("email") = uEMail
Response.Cookies(CookieName)("website") = uWebsite
Response.Cookies(CookieName).Expires = Date +CookieDay
End Sub
Function getCookies(str)
If Request.Cookies(CookieName).HasKeys Then
getCookies = Request.Cookies(CookieName)(str)
Else
If str="url" Then
getCookies = "http://"
Else
getCookies = ""
End If
End If
End Function
Sub WriteData()
Dim i,j
Dim child
Dim jCount
Dim tName
Dim tText
Dim buff
For i= Root.childNodes.length-1 to 0 step -1
Set child=Root.childNodes.item(i)
jCount=child.childNodes.length-1
buff=""
For j= 0 to jCount
tName=child.childNodes.item(j).tagName
tText=child.childNodes.item(j).text
buff=buff&"<font color=""navy""><B>" & tName & ": </B></font>"
If tName="e-mail" Then
buff=buff & "<A HREF=""Mailto:" & tText & """>" & tText & "</A>"
ElseIf tName="url" Then
buff=buff & "<A HREF=""" & tText & """>" & tText & "</A>"
Else
buff=buff & Replace(tText,CHR(10),"<BR>")
End If
buff=buff & "<BR>"
Next
Response.Write buff & "<HR>" & chr(10)
Set child=Nothing
Next
Set Root=Nothing
End Sub
%>Top
3 楼purexu(NetRube的马甲)回复于 2003-09-03 20:04:42 得分 1
bbs.xml文件
<?xml version="1.0" encoding="GB2312"?>
<guestbook><page><name>Pure_xu</name><date>2003-5-17 21:35:34</date><e-mail>pure_xu@yeah.net</e-mail><url>http://www.stnjx.com</url><comment>test</comment></page></guestbook>
Top
4 楼myblessu(继续混着,到被人赶走为止)回复于 2003-09-04 08:48:45 得分 33
http://expert.csdn.net/Expert/topic/1597/1597294.xml?temp=.5521662Top
5 楼sw47(动感超人,哇哈哈哈哈。。。)回复于 2003-09-04 17:01:04 得分 33
http://www.csdn.net/Develop/Read_Article.asp?Id=7662Top



