Forum > ASP > Generella frågor
Jag undrade vad som är fel i min kod här under:
<%
thetext="Write this text in the file"
Set fs = CreateObject("Scripting.FileSystemObject")
Set wfile = fs.CreateTextFile("iframelinks.txt", False)
wfile.WriteLine "<a href="<%=Request.QueryString("search")%>" target="iframe"><%=Request.QueryString("search2")%></a><br>"
wfile.close
Set wfile=nothing
Set fs=nothing
response.write("Confirmed!")
%>
Får felmeddelandet:
Microsoft VBScript compilation error '800a03ea'
Syntax error
/site/add.asp, line 7
wfile.WriteLine <a href="<%=Request.QueryString("search")
----------------^
Har lite svårt att förklara mig så ställ gärna frågor om ni inte förstår!
Mvh Erik
Förmodligen har du inte sparat, då din sträng inte ser ut alls som felmeddelandet säger, för det andra så är din sträng felaktigt uppbyggd:
<%
thetext="Write this text in the file"
Set fs = CreateObject("Scripting.FileSystemObject")
dim sFile
sFile = Server.MapPath("iframelinks.txt")
Set wfile = fs.CreateTextFile(sFile, False)
wfile.WriteLine "<a href=""" & Request.QueryString("search") & """ target=""iframe"">" & Request.QueryString("search2") & "</a><br>"
wfile.close
Set wfile=nothing
Set fs=nothing
response.write("Confirmed!")
%>
Hur gör jag då om jag vill lägga till mer text till själva filen?
Om jag vill bygga på filen istället för att skapa en ny?
Läs mer om det på: http://msdn.microsoft.com/en-us/lib...28VS.85%29.aspx
Men något i stil med:
<%
dim fs, sFile, file
sFile = Server.MapPath("iframelinks.txt")
Set fs = CreateObject("Scripting.FileSystemObject")
set file = fs.OpenTextFile(sFile, 8, true)
file.WriteLine "<a href=""" & Request.QueryString("search") & """ target=""iframe"">" & Request.QueryString("search2") & "</a><br>"
file.close
Set file=nothing
Set fs=nothing
response.write("Confirmed!")
%>
Å vad dum jag är, hade glömt en end if sats längst ner som jag scalat bort innan från inloggnings sessionen.
Tack för hjälpen dock! :)
Eh, va? Koden du har bifogat har inget med någon if-fråga.
Bifoga bara all asp kod som jag trodde fans.
fans en <%=end if%> kod bit längst ner som gav sista felmeddelandet iallafall.
ända problemet nu är i firefox dubbel registrerar i text filen tillskillnad från opera.
Har inte hunnit testa IE än. Det får dock bli morgondagens problem :)
1. Din kod hade aldrig fungerat ändå, då du bröt strängar hej vilt
2.
Microsoft VBScript compilation error '800a03ea'
Syntax error
/site/add.asp, line 7
wfile.WriteLine <a href="<%=Request.QueryString("search")
----------------^
Så jag förstå inte varför "Dock tackar" för hjälpen, bli lite irriterad över att man lägger ner tid att rätta de fel du har skapat.
ända problemet nu är i firefox dubbel registrerar i text filen tillskillnad från opera.
Har inte hunnit testa IE än. Det får dock bli morgondagens problem :)
1.
Den fungerar faktiskt som jag vill, vet inte hur det spelar någon roll.
2. kom nytt felmeddelande och när jag hittade felet längst ner så fixade det sig. Vet inte hur jag ska ta med kod som jag från början inte vet om :/.
3.
"bli lite irriterad över att man lägger ner tid att rätta de fel du har skapat." jag sa att jag får kolla mer på det imorgon när jag har tid :)
blev lite i sista minuten just nu.
Skiten funkar nu iallafall förutom just det med att den i visa webbläsare drar dubbla inskrivningar, får som sagt kolla in mer på detta imorn.
P.S
Jag ska inte tacka för hjälpen i så tidigt läge om jag får sådan här respons :)
D.S
Godnatt
1. Om du kör med din orginal kod så får du felmeddelande:
wfile.WriteLine <a href="<%=Request.QueryString("search")...Jag gjorde en test: http://voigt.se/sandbox/aspkoll/MrXr/getPost/ det ända som är annolunda nu är att jag har lagt in en tidpunkt när någon data skrivs in i textfilen, kan du testa där? add.asp är det fler actions som körs i denna sida? Kanske är bäst att lägga in koden i en metod istället och kolla om querystring search och search2 är något, i så fall triggar du metoden.
Hmm, vad händer på http://voigt.se/sandbox/aspkoll/MrX...Post ?
Kanske något du har gjort där som jag har missat i min kod.
Funderar på att lägga in en redirect direkt efter den skrivit i filen så jag kanske slipper dubbelskriviningen.
Vad som händer är att den postar till sig själv och om värderna stämmer med de jag har satt så skriver den till filen, dvs querystring värderna måste vara satta till det jag har sagt att dom skall vara (mest för att det inte skall missbrukas som demo)
Vad händer på din sida? Är det ett formulär du postar som bli dubbleter? Till Vilken sida postar du den? Inkludera du add.asp fler än en gång?
Vet inte men gick runt problemet genom att använda response.redirect direkt till en annan sida utan själva koden som lägger till texten.
Alltså så står asp koden separat med den sidan som säger att tillägget av text funkade som det skulle.
Nu är mer problemet hur jag kan få denna dåligt skrivna kod här under att ändra från att läsa en speciell rad till at deleta den, sökt runt i någon timme nu utan att hitta en lösning:
<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set f=fs.OpenTextFile(Server.MapPath("accepted.txt"), 1)
f.skipline
f.skipline
Response.Write(f.ReadLine)
f.Close
Set f=Nothing
Set fs=Nothing
%>
Koden är dålig, jag vet men går det att lösa så att den istället för att läsa en specifik rad till att den tar bort själva raden.
Jag vet inte vilken av mina fyra frågor du svarade på, men redirect låter inte som en lösning, är det ett formulär postning så är det vettigare att köra en "Postning" för om de uppdatera sidan så få de i alla fall frågan om att den skall posta igen.
Vilken rad skall tas bort? Är det bara att den skall skriva över filen så är det ju bara att göra det istället för att ta bort en rad. Vad försöker du åstakomma med din kod? att skriva till filter är en rätt så långsam process och speciellt när du skall börja modifiera text innehåll, men google sa: http://www.freevbcode.com/ShowCode.Asp?ID=2667 verkar vara precis det du är ute efter.