13. august 2003 - 19:31
Der er
21 kommentarer og 1 løsning
Fejl i HTTP Header
Jeg har netop flyttet fra min egen intranet webserver til web10's webserver og jeg får denne fejl når jeg prøver at poste i tagwallen: Response object error 'ASP 0156 : 80004005' Header Error /tagwall.asp, line 56 The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing page content. Den poster fint i databasen men når den når til denne linie: Response.Redirect("default.asp?page=news_spec&id=" & Request.Form("id_nyhed")) så kommer den med fejlen, hvad skal jeg gøre?
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
13. august 2003 - 19:41
#1
Prøv at tilføje denne linje i toppen af din kode, det plejer at hjælpe: <% Response.Buffer = True %>
13. august 2003 - 19:42
#2
Og hvis det ikke er nok så prøv også at tilføje: Response.Clear lige før redirect linjen: Response.Clear Response.Redirect("default.asp?page=news_spec&id=" & Request.Form("id_nyhed"))
13. august 2003 - 20:08
#3
#1 samme fejl med response.buffer = true i min top.asp file #2 denne fejl kommer: Response object error 'ASP 0159 : 80004005' Buffering Off /comment.asp, line 52 Buffering must be on.
13. august 2003 - 20:08
#4
Linie 52:Response.Clear
13. august 2003 - 20:10
#5
Response.Buffer = True skal være i toppen når man laver Clear Eller så ungå/fjern evt linjer med response.write.
13. august 2003 - 20:14
#6
Hvis jeg har #1 i toppen af comment.asp og response.clear i bunden af dokumentet får jeg denne fejl når jeg bare prøver at browse dokumentet: The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing page content.
13. august 2003 - 20:16
#7
Du skal havde Clear i linje lige før linjen med redirect.
13. august 2003 - 20:19
#9
hele koden: <% Response.Buffer = True %> <center> <table border="0" width="200" cellspacing="0" cellpadding="0"ID="Table9"> <tr> <font face=verdana size=2> <form method=post action="comment.asp?mode=AddNew" id=form name=form> <font size=1 ><b>Name:</b></font> <br> <INPUT id="navn" name=navn type=text class=input> <br> <font size=1 ><b>E-mail:</b></font> <br> <INPUT id="email" name=email type=text class=input> <br> <font size=1><b>Add Comment:</b></font> <textarea id=kommentar name=kommentar size="10" class="textbox" style="background: transparent; color: white;" rows="8" cols="40"></textarea> <INPUT type=hidden value="<%=request.querystring("id")%>" id="id_nyhed" name=id_nyhed> <INPUT type="submit" value="Post" id=submit1 name=submit1 class="button"> <input type="hidden" value=AddNew name=mode id=mode> </form> </font> </tr> </table> </center> <%if Request.Form("mode") = "AddNew" then Set DataConn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)};uid=admin; " DSN = dsn & "DBQ=" & server.mappath("db/db.mdb") DataConn.Open DSN Set Record = Server.CreateObject("ADODB.RecordSet") Record.open "Select * From [kommentar] Order by id", DataConn, 1, 3 Record.AddNew Record.Fields("navn") = Request.Form("navn") Record.Fields("email") = Request.Form("email") Record.Fields("kommentar") = Request.Form("kommentar") Record.Fields("dato") = date Record.Fields("tid") = TIME Record.Fields("ip") = request.ServerVariables("REMOTE_ADDR") Record.Fields("id_nyhed") = Request.Form("id_nyhed") Record.Update Record.Close set Record = nothing Dataconn.Close Response.Clear Response.Redirect("default.asp?page=news_spec&id=" & Request.Form("id_nyhed")) end if%>
13. august 2003 - 20:19
#10
Hvad skriver du til browseren, undervejs i filen?? Fejlen kommer fordi man skriver noget til brwoseren, eneten med response.write eller ren HTML kode. Så prøv at fjerne det, det kan være noget så banalt som at du skriv <html><head></head>osv til browseren. Hvis det ikke er noget du skal bruge så undlad at skrive det ud.
13. august 2003 - 20:20
#11
Prøv at bytte rundt så ASP delen kommer føst så HTML koden ikke er skrivet i browseren: <% Response.Buffer = True %> <%if Request.Form("mode") = "AddNew" then Set DataConn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)};uid=admin; " DSN = dsn & "DBQ=" & server.mappath("db/db.mdb") DataConn.Open DSN Set Record = Server.CreateObject("ADODB.RecordSet") Record.open "Select * From [kommentar] Order by id", DataConn, 1, 3 Record.AddNew Record.Fields("navn") = Request.Form("navn") Record.Fields("email") = Request.Form("email") Record.Fields("kommentar") = Request.Form("kommentar") Record.Fields("dato") = date Record.Fields("tid") = TIME Record.Fields("ip") = request.ServerVariables("REMOTE_ADDR") Record.Fields("id_nyhed") = Request.Form("id_nyhed") Record.Update Record.Close set Record = nothing Dataconn.Close Response.Clear Response.Redirect("default.asp?page=news_spec&id=" & Request.Form("id_nyhed")) end if%> <center> <table border="0" width="200" cellspacing="0" cellpadding="0"ID="Table9"> <tr> <font face=verdana size=2> <form method=post action="comment.asp?mode=AddNew" id=form name=form> <font size=1 ><b>Name:</b></font> <br> <INPUT id="navn" name=navn type=text class=input> <br> <font size=1 ><b>E-mail:</b></font> <br> <INPUT id="email" name=email type=text class=input> <br> <font size=1><b>Add Comment:</b></font> <textarea id=kommentar name=kommentar size="10" class="textbox" style="background: transparent; color: white;" rows="8" cols="40"></textarea> <INPUT type=hidden value="<%=request.querystring("id")%>" id="id_nyhed" name=id_nyhed> <INPUT type="submit" value="Post" id=submit1 name=submit1 class="button"> <input type="hidden" value=AddNew name=mode id=mode> </form> </font> </tr> </table>
13. august 2003 - 20:23
#12
Bruger jeg din kode så kommer denne fejl: Response object error 'ASP 0156 : 80004005' Header Error /comment.asp, line 1 The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing page content.
13. august 2003 - 20:24
#13
kan jeg ikke maile dig min top fil, gider ikke lige poste den pga. noget autologin! email addr?
13. august 2003 - 20:28
#14
Sådan ser siden hvor jeg poster kommentarne og formen hvor man kan poste kommentar: <% Set DataConn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)};uid=admin; " DSN = dsn & "DBQ=" & server.mappath("db/db.mdb") DataConn.Open DSN Set nyhed = Server.CreateObject("ADODB.RecordSet") id_nyhed = request.querystring("id") Set nyhed = Server.CreateObject("ADODB.RecordSet") nyhed.open "SELECT * FROM nyheder WHERE id=" & id_nyhed, DataConn, 1, 3 nyhed_tekst = replace(tjektegn(nyhed("nyhed")), vbcrlf, "<br>") %> <b><%=nyhed("emne")%></b>: <font size=1>by <a href="default.asp?page=members"><%=nyhed("navn")%></a> @ <%=nyhed("dato")%> : <%=nyhed("tid")%></b></font> <br> <font face=tahoma style="font-size: 8pt"> <%=nyhed_tekst%> </font> <br> <br> <center><!--#include file="comment.asp"--></center> <br> <% set nyhed = nothing Dataconn.Close %> <% Set DataConn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)};uid=admin; " DSN = dsn & "DBQ=" & server.mappath("db/db.mdb") DataConn.Open DSN Set kommentar = Server.CreateObject("ADODB.RecordSet") kommentar.open "Select * From [kommentar] where id_nyhed=" & cint(request.QueryString("id")) &" order by id asc", DataConn if not kommentar.EOF then kommentar.MoveFirst end if do while not kommentar.EOF if kommentar("navn") = ("") then navn = ("None") else navn = kommentar("navn") end if tekst_kommentar = replace(server.HTMLEncode(kommentar("kommentar")), vbcrlf, "<br>") %> <center> <table border="0" width="400" cellspacing="0" cellpadding="0" style="border: 1 solid #990F0C" ID="Table3"> <tr> <td width="100%"> <font face=tahoma style="font-size: 8pt"> #<%plads = plads + 1%><%=plads%></b>: by <%if not kommentar("email") = ("") then%><a href=mailto:<%=kommentar("email")%>><%=navn%></a><%else%><%=navn%><%end if%> @ <%=kommentar("dato")%> - <%=kommentar("tid")%> | IP Logged </font> </td> </tr> <tr> <td width="100%" height="19" colspan="2"> <table width="100%" border="0" cellspacing="0" cellpadding="5" ID="Table4" style="border-top: 1 solid #990F0C"> <tr> <td> <font face=tahoma style="font-size: 8pt"> <%=tekst_kommentar%> </font> </td> </tr> </table> </td> </tr> </table> </center> <br> <br> <% kommentar.MoveNext loop kommentar.Close set kommentar = nothing Dataconn.Close %>
13. august 2003 - 20:29
#15
Ok, det ligger i en include fil. Jeg ved ikke om det hjælper så, men prøv på den side som includer filen også at tilføje buffer linjen i toppen af den fil <% Response.Buffer = True %>
13. august 2003 - 20:32
#16
Jeg har prøvet at include filen i min top fil, men ingen ændring - kommer dog ikk med header fejl før man prøver at poste noget. Man kan sagtens slette og redigere, men ikk poste
13. august 2003 - 20:32
#17
Er der nogen anden måde at include filer på ?
13. august 2003 - 20:34
#18
LOL nu virker det... hehe ved ikke hvad jeg gjorder, men du fortjener pointne, lav lige et svar
13. august 2003 - 20:36
#19
Det lyder godt det virker ;)
13. august 2003 - 20:36
#20
Lidt en kaos tråd :)
13. august 2003 - 20:49
#21
lidt sent på den, men ok :-) Man kan godt bruge response.clear, men grunden til at den fucker op er, at hvis man bruger response.redirect må man IKKE have skrevet noget tilbage til klienten. Hverken html eller noget andet. Hvis man overholder det (som man jo gør hvis man 1) laver en buffer 2) fylder den op med html 3) clearer den igen med response.clear ) bitcher den ikke.
13. august 2003 - 20:55
#22
Følgende virkede: response.buffer = true i toppen af dokumenterne og derefter ASP koden først i filen...
Kurser inden for grundlæggende programmering