! Min ASP-gæstebog laver fejl efter et vist antal beskeder !
Hej!Jeg har en gæstebog som er lavet i .ASP.
Når der bliver tilføjet et vist antal beskeder laver den fejl i "Navnefeltet" (der hvor man skriver sit navn inden man skriver en besked) se her: http://www.christaogmads.dk/tagwall/canbeskeder.asp
Gæstebogen består af 3 filer.
1) - beskeder2004.txt
2) - canbeskeder.asp
3) - tagwall.asp
De 3 filers kode er pastet ind herunder:
===========================================================
===========================================================
1) indhold af beskeder.txt:
---------------------------
¨ßB¨ßBster9876543210Skriv din besked her98765432104/22/2004 7:54:24 PM
¨ßB¨ßBster9876543210Skriv din besked her98765432104/22/2004 7:52:41 PM
¨ßB¨ßB Kenneth9876543210Hej Christa og Mads<br/><br/>Hvis JEG nogensinde skulle giftes, skulle det foregå i noget af den samme stil som hos Jer...... Virkelig godt planlagt, skøn mad, musik og dejlige lokaler. Det var en uforglemmelig dag og nat, og den måde, I viser Jeres glæde for hinanden på, kan kun gøre én i godt humør.<br/><br/>Mange tak for det og al mulig lykke med Jeres fremtidige liv som mand og kone.<br/><br/>Fra Carin & Kenneth<br/><br/>98765432104/19/2004 12:01:19 PM
¨ßB¨ßB Louise9876543210Kære Christa og Madsda :-)<br/>Et perfekt brudepar, et perfekt arrangement. Vi håber I havde en uforglemmelig dag/aften/nat/morgen. <br/>Kærlig hilsen fra Klaus og Louise98765432104/16/2004 8:17:20 AM
@àË€/ Louise9876543210Kære Christa og Madsda :-) <br/><br/>98765432104/16/2004 8:15:16 AM
¨ßB¨ßB ¤¤¤9876543210Der er opstået et problem med gæstebogen, så skriv venligst under med navn sidst i meddelelsen...<br/>¤¤¤ HANS ¤¤¤98765432104/14/2004 2:57:26 AM
¨ßB¨ßBle9876543210Kære Christa og Mads<br/>Tusind tak for en rigtig dejlig dag. Alt var bare perfekt, lige fra maden til stemningen, det er skønt at se hvor glade i er for hinanden, i ønskes endnu engang tilykke, og mange gode ønsker for fremtiden.<br/>Stort knus fra aase og ole98765432104/14/2004 2:54:52 AM
X0hÐЕ & Jesper9876543210Et helt igennem overdådigt arrangement, med alt hvad hjertet kunne begærer!! Knus og tanker, Pernille & Jesper98765432104/14/2004 2:54:05 AM
Sarah & Henrik9876543210Hej Christa og Mads<br/>Tusind tak for en supergod fest og endnu en gang tillykke!<br/>Vi glemte at sørge for panodiler og isvand til jeres natbord - men vi fik da levet op til vores forpligtelse til at sørge for, at festen først sluttede, når det var blevet lyst udenfor :-)98765432104/14/2004 2:53:34 AM
Mama9876543210Det var bare sådan en god fest,tak for den. Endnu en gang tillykke98765432104/14/2004 2:53:11 AM
Christina & Hans9876543210Hej Christa & Mads,<br/>1000-tak for en fantastisk dag og aften! Dejligt med alle de fine indslag og taler, og ikke mindst musikken... Maden smagte super lækkert og drikkevarene ligeså.<br/>Tak for det og held og lykke i fremtiden.<br/>Kærligst - og med tømmermænd - C & H98765432104/14/2004 2:52:51 AM
Christa & Mads9876543210Velkommen, Vi glæder os til at læse hvad I skriver :P98765432104/10/2004 9:08:42 P
===========================================================
===========================================================
2) Indhold af canbeskeder.asp:
------------------------------
<%
' ################### Start: Hvis tag er sendt , bliver det tilføjet ##################
if (Request.ServerVariables("REQUEST_METHOD") = "POST" and Request.Form("navn") <> " Skriv dit navn her" and Request.Form("tag") <> "Skriv dit tag her") then
' ####################### replace funktioner, til at undgå fejl #######################
Function DBFix(tempString)
tempString = Replace(Trim(tempString),vbcrlf,"<br/>")
tempString = Replace(Trim(tempString),"9876543210","'ikke tilladt'")
' her kan du sætte flere replace funktioner ind, f.eks. smileys
DBFix = tempString
End Function
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.Mappath("beskeder2004.txt")
' ################## tjekker det totale antal af linier i tekstfilen ##################
Set f = fso.OpenTextFile(filespec,1,true)
total=0
Do While not f.AtEndOfStream
total=total+1
f.SkipLine
Loop
f.Close
' ###### Smider både gamle og nye linier ned i en variabel , der bliver tilføjet ######
Set i = fso.OpenTextFile(filespec,1,true)
data = DBFix(Request.Form("navn")) & "9876543210" & DBFix(Request.Form("tag")) & "9876543210" & now & vbcrlf
do while not i.AtEndOfStream
total=total-1
If total > 0 Then
data = data & i.ReadLine & vbCrLf
Else
data = data & i.ReadLine
End If
Loop
i.Close
Set l = fso.OpenTextFile(filespec,2,true)
l.WriteLine data
l.Close
response.Redirect("canbeskeder.asp")
end if
' ################### Slutt: Hvis tag er sendt , bliver det tilføjet ###################
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.Mappath("beskeder2004.txt")
' ################## tjekker lige om der ikk er angivet et startsted ###################
startquery = request.querystring("start")
If startquery = "" then
startquery = "1"
end if
' ################# Spring linier over indtil værdien af querystringen #################
Set g = fso.OpenTextFile(filespec,1,true)
If Not startquery = "-1" Then
For intLine = 1 to startquery-1
g.SkipLine
Next
End If
%>
<head>
<title>.: Gæstebog :.</title>
<style type="text/css">
<!--
BODY {
font-family: Verdana,Arial,Sans-Serif;
font-size:0.8em;
text-align:center;
font-style: normal;
background-color:#666666;
text-decoration: none;
color: #FFFFFF;
margin-top: 0px;
margin-left: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
#content {
width:700px;
padding:0 0 0 0;
border-top:1px solid #808080;
border-bottom:1px solid #808080;
background-color:#71828A;
background-repeat : y-repeat;
background-position : top;
background-image:url(baggrund.gif);
}
td {
font-family:Ariel;
font-size:0.8em;
color:##FFFFFF;
}
.input1 {
font-family:Ariel;
font-size:0.8em;
color:#;
background-color:#666666;
border-width:2px;
border-style:solid;
border-color: #cccccc #999999 #999999 #cccccc;
width:100%;
height:21px;
}
.input2 {
font-family:Ariel;
font-size:0.9em;
color:#000000;
background-color:#FFFFFF;
border-width:2px;
border-style:solid;
border-color: #cccccc #999999 #999999 #cccccc;
width:100%;
height:67px;
}
.input3 {
font-family:Ariel;
font-size:0.8em;
color:#FFFFFF;
background-color:#666666;
border-width:2px;
border-style:solid;
border-color: #cccccc #999999 #999999 #cccccc;
width:100%;
height:21px;
}
a {
text-decoration:none; color:#FFFFFF;
}
a:hover {
color:#FF6600; text-decoration:underline;
}
.style4 {
font-size: 16px;
font-weight: bold;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
.style1 {font-size: 14px}
body,td,th {
font-family: Verdana, Arial, Helvetica, sans-serif;
color: #F0F0F0;
}
a:link {
color: #FFCC00;
}
a:visited {
color: #FFCC00;
}
a:active {
color: #FF6600;
}
.style6 {color: #FF6600}
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
<body>
<table bgcolor="#71828A" width="700" border="0" align="center" cellspacing="0" cellpadding="1">
<tr>
<td bgcolor="#666666"><table width="100%" border="0">
<tr>
<td><div align="center">
<p class="style1"><a href="../main.html" target="mainFrame">Forside</a> | <a href="../galleri.html" target="mainFrame">Galleri</a> | <a href="../video.html" target="mainFrame">Video</a> | <span class="style6 style6">Gæstebog</span> | <a href="/musik&sjov.html" target="mainFrame">Musik & Sjov</a> | <a href="../kontakt.html" target="mainFrame">Kontakt</a> | <a href="../links.html" target="mainFrame">Links</a></p>
</div></td>
</tr>
</table> </td>
</tr>
<tr>
<td bgcolor="#71828A"><p> </p> <table width="450" border="0" align="center">
<tr>
<td><div align="center"><span class="style4">.: Gæstebog :. </span></div></td>
</tr>
<tr>
<td><div align="center">
<p class="style1"> <br>
Skriv en lille hilsen i vores sprit-nye gæstebog...</p>
<p class="style1"> </p>
</div></td>
</tr>
</table></td>
</tr>
</table>
<div id="content">
<%
' ############### Læs linie for linie indtil 95 linier er udskrevet ##############
p=0
Do While not (g.AtEndOfStream or p=95)
If Not startquery = "-1" Then
p=p+1
End If
' ############### Lav array ved at splitte ved tegnene 9876543210 ###############
arrM = Split(g.ReadLine,"9876543210")
If color="#FFFFFF" Then
color="#FFFFFF"
Else
color="#666666"
End If
%>
<table bgcolor="<%=color%>" width="500" border="0" align="center" cellspacing="0" cellpadding="1" style="border:1px solid #808080;">
<tr>
<td width="50%" style="border-right:1px dotted #808080;"> Skrevet af: <b><%=arrM(0)%></b></td>
<td width="50%" align="right"><%=arrM(2)%> </td>
</tr>
<tr>
<td height="50" colspan="2" valign="top" style="border-top:1px dotted #808080;"><%=arrM(1)%></td>
</tr>
</table>
<br>
<%
Loop
' #################### så laver vi videre og tilbage knapper ###############
If Not startquery<5 then response.write "<a href=""canbeskeder.asp?start=" & startquery - 5 & """><<</a>"
%> <a href="canbeskeder.asp?start=-1">Se alle beskeder</a> <%
If Not g.AtEndOfStream then response.write "<a href=""canbeskeder.asp?start=" & startquery + 5 & """>>> </a>"
%>
<br>
<table width="500" border="0" align="center" cellspacing="0" cellpadding="0">
<form name="form1" method="post" action="canbeskeder.asp">
<tr>
<td width="50%"><center><input type="text" name="navn" size="15" value=" Skriv dit navn her" onFocus="if (this.value == ' Skriv dit navn her') this.value = '';" onBlur="if (this.value == '') this.value = ' Skriv dit navn her';" class="input1"></td>
<td width="50%" rowspan="3"><textarea rows="4" cols="17" name="tag" class="input2" onFocus="if (this.value == 'Skriv din besked her') this.value = '';" onBlur="if (this.value == '') this.value = 'Skriv dit tag her';">Skriv din besked her</textarea></td>
</tr>
<tr>
<td width="50%"><input type="submit" name="ok" value="Tilføj besked" class="input3"></td>
</tr>
<tr>
<td width="50%"><input type="reset" name="navn" value="Fortryd" class="input3"></td>
</tr>
</form>
</table>
<p>
<%
Set f = fso.OpenTextFile(filespec,1,true)
total=0
Do While not f.AtEndOfStream
total=total+1
f.SkipLine
Loop
f.Close
%>
<b>Christa & Mads</b> •• Der er i alt <b><%=total%></b> beskeder i vores gæstebog forum <br>
<br>
<A HREF="../main.html" target="mainFrame">Tilbage til forsiden...</a>
</p>
<p> </p>
</div>
</body>
</html>
<%
g.close
%>
===========================================================
===========================================================
3) Indhold af tagwall.asp:
--------------------------
<%
' ################### Start: Hvis tag er sendt , bliver det tilføjet ##################
if (Request.ServerVariables("REQUEST_METHOD") = "POST" and Request.Form("navn") <> " Skriv dit navn her" and Request.Form("tag") <> "Skriv dit tag her") then
' ####################### replace funktioner, til at undgå fejl #######################
Function DBFix(tempString)
tempString = Replace(Trim(tempString),vbcrlf,"<br/>")
tempString = Replace(Trim(tempString),"9876543210","'ikke tilladt'")
' her kan du sætte flere replace funktioner ind, f.eks. smileys
DBFix = tempString
End Function
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.Mappath("beskeder2004.txt")
' ################## tjekker det totale antal af linier i tekstfilen ##################
Set f = fso.OpenTextFile(filespec,1,true)
total=0
Do While not f.AtEndOfStream
total=total+1
f.SkipLine
Loop
f.Close
' ###### Smider både gamle og nye linier ned i en variabel , der bliver tilføjet ######
Set i = fso.OpenTextFile(filespec,1,true)
data = DBFix(Request.Form("navn")) & "9876543210" & DBFix(Request.Form("tag")) & "9876543210" & now & vbcrlf
do while not i.AtEndOfStream
total=total-1
If total > 0 Then
data = data & i.ReadLine & vbCrLf
Else
data = data & i.ReadLine
End If
Loop
i.Close
Set l = fso.OpenTextFile(filespec,2,true)
l.WriteLine data
l.Close
response.Redirect("tagwall.asp")
end if
' ################### Slutt: Hvis tag er sendt , bliver det tilføjet ###################
Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.Mappath("beskeder2004.txt")
' ################## tjekker lige om der ikk er angivet et startsted ###################
startquery = request.querystring("start")
If startquery = "" then
startquery = "1"
end if
' ################# Spring linier over indtil værdien af querystringen #################
Set g = fso.OpenTextFile(filespec,1,true)
If Not startquery = "-1" Then
For intLine = 1 to startquery-1
g.SkipLine
Next
End If
%>
<head>
<title>Mine beskeder</title>
<style type="text/css">
<!--
body {
background-color:#999999;
text-align:center;
font-family:Ariel;
font-size:0.8em;
color:#666666;
}
#content {
width:700px;
padding:10 5 5 5;
border-top:1px solid #808080;
border-bottom:1px solid #808080;
background-color:#CCCCCC;
background-repeat : y-repeat;
background-position : top;
background-image:url(baggrund.gif);
}
td {
font-family:Ariel;
font-size:0.8em;
color:#FFFFFF;
}
.input1 {
font-family:Ariel;
font-size:0.8em;
color:#FFFFFF;
background-color:#336699;
border-width:2px;
border-style:solid;
border-color: #cccccc #999999 #999999 #cccccc;
width:100%;
height:21px;
}
.input2 {
font-family:Ariel;
font-size:0.9em;
color:#FFFFFF;
background-color:#996600;
border-width:2px;
border-style:solid;
border-color: #cccccc #999999 #999999 #cccccc;
width:100%;
height:67px;
}
.input3 {
font-family:Ariel;
font-size:0.8em;
color:#336699;
background-color:#336600;
border-width:2px;
border-style:solid;
border-color: #cccccc #999999 #999999 #cccccc;
width:100%;
height:21px;
}
a {
text-decoration:underline; color:#FFFFFF;
}
a:hover {
color:#000000; text-decoration:none;
}
-->
</style>
</head>
<body>
<div id="content">
<%
' ############### Læs linie for linie indtil 95 linier er udskrevet ##############
p=0
Do While not (g.AtEndOfStream or p=95)
If Not startquery = "-1" Then
p=p+1
End If
' ############### Lav array ved at splitte ved tegnene 9876543210 ###############
arrM = Split(g.ReadLine,"9876543210")
If color="#996600" Then
color="#336699"
Else
color="#000000"
End If
%>
<table bgcolor="<%=color%>" width="500" border="0" align="center" cellspacing="0" cellpadding="1" style="border:1px solid #808080;">
<tr>
<td width="50%" style="border-right:1px dotted #808080;"> Skrevet af: <b><%=arrM(0)%></b></td>
<td width="50%" align="right"><%=arrM(2)%> </td>
</tr>
<tr>
<td height="50" colspan="2" valign="top" style="border-top:1px dotted #808080;"><%=arrM(1)%></td>
</tr>
</table>
<br>
<%
Loop
' #################### så laver vi videre og tilbage knapper ###############
If Not startquery<5 then response.write "<a href=""tagwall.asp?start=" & startquery - 5 & """><<</a>"
%> <a href="tagwall.asp?start=-1">Alle tags</a> <%
If Not g.AtEndOfStream then response.write "<a href=""tagwall.asp?start=" & startquery + 5 & """>>> </a>"
%>
<table width="500" border="0" align="center" cellspacing="0" cellpadding="0">
<form name="form1" method="post" action="tagwall.asp">
<tr>
<td width="50%"><center><input type="text" name="navn" size="15" value=" Skriv dit navn her" onFocus="if (this.value == ' Skriv dit navn her') this.value = '';" onBlur="if (this.value == '') this.value = ' Skriv dit navn her';" class="input1"></td>
<td width="50%" rowspan="3"><textarea rows="4" cols="17" name="tag" class="input2" onFocus="if (this.value == 'Skriv dit tag her') this.value = '';" onBlur="if (this.value == '') this.value = 'Skriv dit tag her';">Skriv dit tag her</textarea></td>
</tr>
<tr>
<td width="50%"><input type="submit" name="ok" value="tilføj tag!" class="input3"></td>
</tr>
<tr>
<td width="15%"><input type="reset" name="navn" value="reset" class="input3"></td>
</tr>
</form>
</table>
<%
Set f = fso.OpenTextFile(filespec,1,true)
total=0
Do While not f.AtEndOfStream
total=total+1
f.SkipLine
Loop
f.Close
%>
<b>Carl A Nielsen</b> •• Der er i alt <b><%=total%></b> beskeder i mit forum
</div>
</body>
</html>
<%
g.close
%>
===========================================================
===========================================================
Er der mon nogen af Jer eksperter der kan gennemskue denne "rodebutik" af kode, og sige mig hvad der er galt?
Eller måske komme med et forslag/idé til en mere simpel løsningsmodel?
Mvh- og god weekend,
Hans H. Hansen
