webForumDet fria alternativet

Forumproblem!

17 svar · 323 visningar · startad av ampy

ampyMedlem sedan feb. 20011 498 inlägg
#1

Jag har laddat ner ett forum från sidan ricki.nu.

När man ska skriva ett meddelande och sedan ska "posta" det kommer detta felmeddelande fram:

Response-objekt fel 'ASP 0156 : 80004005'

Fel på huvuden

/forum/post.asp, rad 32

HTTP-huvudena har redan skrivits till klientläsaren. Ändringar till HTTP-huvudena måste göras innan sidinnehållet skrivs.

Och så här ser hela post.asp ut:

<!--#include file="settings.inc"-->

<html>
<head>
<title>Forum v1.0</title>

</head>
<body bgcolor="<%=bgcolor%>">

\<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "Driver={Microsoft Access Driver (\*.mdb)}; DBQ=" & Server.MapPath("forum.mdb") & ";pwd=;"

	Subject		= Request.Form("subject")
	Body		= Request.Form("body")
	DateTime	= Now
	By		= Request.Form("namn")
	ByEmail		= Request.Form("epost")
	Children	= Request.Querystring("answer")
	Answers		= 0

SQL="INSERT INTO forum (\[Children\], \[Subject\], \[Body\], \[DateTime\], \[By\], \[ByEmail\], \[Answers\]) VALUES(" & Children & ", '" & Subject & "', '" & Body & "', #" & DateTime & "#, '" & By & "', '" & ByEmail & "', " & Answers & ")"
Connection.Execute(SQL)

If Children\<\>0 Then
	PARENT="UPDATE forum SET Answers=Answers+1 WHERE Parent=" & Children
	Connection.Execute(PARENT)
End If

Connection.Close

Response.Redirect "default.asp"
%\>

</body>
</html>

@ndersMedlem sedan juni 200032 969 inlägg
#2

allra högst upp i asp-filen:

response.buffer=true

mvh,

------------------
mördar-anders, det är jag.

ampyMedlem sedan feb. 20011 498 inlägg
#3

det funkar fortfarande inte

@ndersMedlem sedan juni 200032 969 inlägg
#4

kodraden måste ligga som den första rad som exeveras, dvs direkt under ev. <%@-tagg.

är det där du lagt den?

------------------
mördar-anders, det är jag.

ampyMedlem sedan feb. 20011 498 inlägg
#5

jag hade inte gjort det innan men nu testade jag men det funkar fortfarande inte :(

ampyMedlem sedan feb. 20011 498 inlägg
#6

jag kom på en sak.

När jag laddade om själva forumstartsidan (default.asp) fanns meddelanderna där. Det funkar men det kommer alltså upp ett felmeddelande.

@ndersMedlem sedan juni 200032 969 inlägg
#7

jodå. vilken rad är det fel på?

den med response.redirect skulle jag tippa på.

borde helt klart funkalera med response.buffer=true högst upp.

------------------
mördar-anders, det är jag.

ampyMedlem sedan feb. 20011 498 inlägg
#8

jag testade att ta bort Response.Redirect "default.asp".

Då kom bara en vit sida upp så det måste vara något fel på den raden...

@ndersMedlem sedan juni 200032 969 inlägg
#9

hur ser hela ditt asp-dokument ut, med response.buffer-raden, och response.redirect-raden?

------------------
mördar-anders, det är jag.

ampyMedlem sedan feb. 20011 498 inlägg
#10

hur menar du?

@ndersMedlem sedan juni 200032 969 inlägg
#11

i din editor, notepad eller vilken du nu använder, markera all text. kopiera. klistra in här.

annars kan du ersätta (when all else fails):

Response.Redirect "default.asp"

med

Response.Write "<scr" & "ipt>location.href='default.asp';</scr" & "ipt>"

mvh,

------------------
mördar-anders, det är jag.

ampyMedlem sedan feb. 20011 498 inlägg
#12

JAG MENAR VILKEN FIL JAG SKA KOPIERA?

webzonenMedlem sedan feb. 2001390 inlägg
#13

Skikca in koden på hela den felande sidan.

------------------
En sak livet lärt mig är att idioterna oftast har rätt

ScarabusMedlem sedan maj 200118 inlägg
#14

Men!!
Response.redirect funkar inte om sidhuvudena redan skrivits! Detta innebär att du inte får lägga in <html> eller <!DOCTYPE>taggar ovanför en redirect-rad! Flytta bara upp scriptet till överst på sidan.

response.buffer=true skriver man överst på filen när man ska jobba med cookies, btw.

------------------
:[Scarabus]:

Fudge Entertainment

@ndersMedlem sedan juni 200032 969 inlägg
#15

response.buffer=true skriver man överst på filen när man ska jobba med cookies, btw.

eller när man vill kunna göra en redirect var som helst i koden. det gör nämligen så att asp-tolken buffrar hela sidan tills den är färdigexekverad och skickar sedan hela faderullan till browsern. så länge ingenting är skickat till läsaren så kan man modifiera http-headers, dvs, redirects, cookies, ändra contenttype, m.m.

------------------
mördar-anders, det är jag.

mikulMedlem sedan aug. 20013 824 inlägg
#16

alltså skriv så här längst upp...
<% Response.Buffer = True %>

------------------
vad är det för fel mad att vara lat?, tänk om det blev krig och ingen kom dit.

EclipseMedlem sedan juli 20003 825 inlägg
#17

Koden ovan är fel.

Ta bort ALL html kod från sidan så fungerar det. Drt är det som är HTTP-huvudet, liksom!

<!--#include file="settings.inc"-->
<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("forum.mdb") & ";pwd=;"

Subject = Request.Form("subject")
Body = Request.Form("body")
DateTime = Now
By = Request.Form("namn")
ByEmail = Request.Form("epost")
Children = Request.Querystring("answer")
Answers = 0

SQL="INSERT INTO forum ([Children], [Subject], [Body], [DateTime], [By], [ByEmail], [Answers]) VALUES(" & Children & ", '" & Subject & "', '" & Body & "', #" & DateTime & "#, '" & By & "', '" & ByEmail & "', " & Answers & ")"
Connection.Execute(SQL)

If Children<>0 Then
PARENT="UPDATE forum SET Answers=Answers+1 WHERE Parent=" & Children
Connection.Execute(PARENT)
End If

Connection.Close

Response.Redirect "default.asp"
%>
BenganMedlem sedan juni 2000690 inlägg
#18

Koden ovan är fel.
Ta bort ALL html kod från sidan så fungerar det. Drt är det som är HTTP-huvudet, liksom!

Ursäkta men är ovan ett skämt? :)

Lyssna på @nders mfl. lägg in

<% Response.Buffer = True %>

högst upp på sidan precis under ev rad med ett @ tecken i så fixar det sig. Sen kan du köra kod var du vill i filen inklusive redirect, addheader osv.
På IIS5 är Response.Buffer = True dock standard så då slipper man bry sig.

------------------
MvH
/Bengan
www.bengan.com | Brossans Räjser
"Better to be hated for who you are than loved for who you're not."

136 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)