/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Mærkelig fejlmelding - hvad gør jeg galt?
Fra : Jakob Munck


Dato : 16-10-03 15:24

Jeg har lige lagt en nyt site (www.forfatterkvarteret) site på Web10's
asp-server, men den virker åbenbart anderledes end min egen (ISS-5.0) som
jeg bruger hjemme til testformål. Den login jeg har lavet virker ikke (hos
Web10) og giver følgende fejlmelding:

Response object error 'ASP 0156 : 80004005'
Header Error

/forfatterkvarteret.asp, line 1215

The HTTP headers are already written to the client browser. Any HTTP header
modifications must be made before writing page content.

---------------
Her er så linie 1215:
......
if RS.EOF or RS.BOF then
fornavn2 = Request.Form("fornavn")
password2 = Request.Form("password")
isChecked = (Request.Form("husk") = "x")
if isChecked then
Response.Cookies("forfatterkvarteret")("fornavn") = fornavn2
Response.Cookies("forfatterkvarteret")("password") = password2
Response.Cookies("forfatterkvarteret")("husk") = "x"
Response.Cookies("forfatterkvarteret").expires = Now() + 90
else
1205 => Response.Cookies("forfatterkvarteret").Expires = Now
end if

Response.redirect("forfatterkvarteret.asp?mode=forkert_navn_password")
.......

Hvad gør jeg galt?

v.h.
Jakob Munck



 
 
CHT (16-10-2003)
Kommentar
Fra : CHT


Dato : 16-10-03 17:59

> Jeg har lige lagt en nyt site (www.forfatterkvarteret) site på Web10's
> asp-server, men den virker åbenbart anderledes end min egen (ISS-5.0) som
> jeg bruger hjemme til testformål. Den login jeg har lavet virker ikke (hos
> Web10) og giver følgende fejlmelding:
>
> Response object error 'ASP 0156 : 80004005'
> Header Error
>
> <kode>
>
> Hvad gør jeg galt?

Du kan tilføje følgende i toppen af din side:
response.buffer = true

eller du kan udføre din Response.Cookies kode inden du skriver noget på
siden. Fejlen opstår fordi headeren skal skrives inden koden fra siden
vises.

Mvh. Christoffer Thygesen



Jakob Munck (16-10-2003)
Kommentar
Fra : Jakob Munck


Dato : 16-10-03 20:05

Tak, så virker det.

v.h.
Jakob



Jakob Munck (17-10-2003)
Kommentar
Fra : Jakob Munck


Dato : 17-10-03 04:57

Et supplerende spørgsmål: Problemet kan løses ved at skrive response.buffer
= true i toppen af filen. Det sløver hastigheden, men det virker. Den anden
løsning, aldrig at skrive redirect efter html, forstår jeg ikke. Hvordan kan
man undgå at anvende html inden man anvender redirect? En fil der skal
bruges på internet vil da altid have formen:

<html><head>....</head><body>
<%
kode.....
redirect....
%>
</body></html>

Hvem kan forklare det?

v.h.
Jakob Munck






Chrisser (17-10-2003)
Kommentar
Fra : Chrisser


Dato : 17-10-03 07:37

Jakob Munck wrote:
> Et supplerende spørgsmål: Problemet kan løses ved at skrive
> response.buffer = true i toppen af filen. Det sløver hastigheden,
> men det virker. Den anden løsning, aldrig at skrive redirect efter
> html, forstår jeg ikke. Hvordan kan man undgå at anvende html inden
> man anvender redirect? En fil der skal bruges på internet vil da
> altid have formen:
>
> <html><head>....</head><body>
> <%
> kode.....
> redirect....
> %>
> </body></html>

Nej, ikke hvis du ikke vil skrive noget ud til brugeren. Hvis det er en side
der kun udfører ASP kan du altså fint droppe dine html-koder

Christina



Jakob Munck (17-10-2003)
Kommentar
Fra : Jakob Munck


Dato : 17-10-03 10:06

>
> Nej, ikke hvis du ikke vil skrive noget ud til brugeren. Hvis det er en
side
> der kun udfører ASP kan du altså fint droppe dine html-koder
>

Jeg forstår det stadig ikke. Kunne du komme med et eksempel på en situation,
hvor der ikke først skal være en html-header før der kan redirectes?

v.h.
Jakob



Chrisser (17-10-2003)
Kommentar
Fra : Chrisser


Dato : 17-10-03 11:40

Jakob Munck wrote:
>> Nej, ikke hvis du ikke vil skrive noget ud til brugeren. Hvis det
>> er en side der kun udfører ASP kan du altså fint droppe dine
>> html-koder
>>
>
> Jeg forstår det stadig ikke. Kunne du komme med et eksempel på en
> situation, hvor der ikke først skal være en html-header før der kan
> redirectes?
Ok, du må selv udfylde det manglende

Hvis du nu har en form på en side, indmeld.asp, som du sender til en anden
side der gemmer data i en database, behandling.asp, hvorefter den redirecter
til en tredie side, tak.asp:

indmeld.asp:
<html><body><form.....osv

behandling.asp:
<%
'udtræk/valider data fra form
' sæt dem ind i database
response.redirect "tak.asp"
%>

tak.asp:
<html><body>tak for din indmeldelse</body></html>


Med andre ord, i de sider hvor du kun behandler data har du ren ASP uden
html-koder da de sider aldrig når ud til brugerens browser.
I de sider der når ud til browseren kan du så have html og asp osv. men ikke
html før en redirect - hvilket derlogisk set heller ikke er grund til, da en
redirect skifter side uden at brugeren gør noget for det - det vil sige at
han alligevel ikke kan nå at se hvad du har skrevet ud før din redirect.

Chrisser



Jakob Munck (17-10-2003)
Kommentar
Fra : Jakob Munck


Dato : 17-10-03 12:50

> indmeld.asp:
> <html><body><form.....osv
>
> behandling.asp:
> <%
> 'udtræk/valider data fra form
> ' sæt dem ind i database
> response.redirect "tak.asp"
> %>
>
> tak.asp:
> <html><body>tak for din indmeldelse</body></html>
>

En form er jo også html. Så jeg forstår det sådan, at html-en godt - logisk
set - kan være før, men den skal bare skal være i fysisk fil som eksekveres
inden den, der indeholder redirect.

Er det rigtigt?

v.h.
Jakob



Chrisser (17-10-2003)
Kommentar
Fra : Chrisser


Dato : 17-10-03 13:09

Jakob Munck wrote:
> En form er jo også html. Så jeg forstår det sådan, at html-en godt
> - logisk set - kan være før, men den skal bare skal være i fysisk
> fil som eksekveres inden den, der indeholder redirect.
>
> Er det rigtigt?

Øh, jeg er ikke sikker på at jeg forstår hvad du mener, men hvis du spørger
om du kan have html på én side og en response.redirect på en anden så kan du
godt det. Det er hvis du vil have det i samme side at du skal være
opmærksom.

I mit eksempel var formen i en fil for sig selv - dette er dog ikke
nødvendigt, du kan også gøre som Jørn Andersen foreslår og så have din
databehandling i toppen af siden, før det første html-tag.

Chrisser



Jakob Munck (17-10-2003)
Kommentar
Fra : Jakob Munck


Dato : 17-10-03 15:08

Tak. Jeg eksperimenterer videre med det.

v.h.
Jakob



Jørn Andersen (17-10-2003)
Kommentar
Fra : Jørn Andersen


Dato : 17-10-03 10:12

On Fri, 17 Oct 2003 05:57:04 +0200, "Jakob Munck" <j.munck@tdcadsl.dk>
wrote:

>En fil der skal
>bruges på internet vil da altid have formen:
>
><html><head>....</head><body>
><%
>kode.....
>redirect....
>%>
></body></html>

Ja, men hvis noget af det skal udføres på serveren, kan det have
formen:
<%
' Noget ASP-kode
' (som evt. udløser en redirect)
%>
<!doctype ...
<html ...
<!-- Noget HTML, som skrives, hvis ikke redirect'en er udløst -->

Good luck!

--
Jørn Andersen,
Brønshøj

Søg
Reklame
Statistik
Spørgsmål : 177551
Tips : 31968
Nyheder : 719565
Indlæg : 6408824
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste