Avatar billede fragtrup Nybegynder
27. august 2006 - 15:21 Der er 4 kommentarer og
1 løsning

Redirect i PHP

Hvorfor kan jeg kun bruge
Header("Location: http://www.dr.dk");
som det første på en php-side?
Jeg ville jo gerne lave noget kode og alt efter resulatatet af koden skal brugeren sendes til den ene eller anden side. Men jeg får en fejl hvis ikke Header("Location: http://www.dr.dk"); står først på siden og det betyder jeg ikke kan lave koden først.

Kan du hjælpe?
Avatar billede nielle Nybegynder
27. august 2006 - 15:26 #1
Der må ikke være udskrevet noget før header() kaldes. Du kan sagtens have en masse kode før, men der må blot ikke udskrives noget.
Avatar billede fragtrup Nybegynder
27. august 2006 - 15:29 #2
Tak for det. Det lyder jo også fair nok, at man ikke skal udskrive noget til skærm og så sende brugeren videre. Lav lige et svar så kan jeg lukke spørgsmålet.
Avatar billede boost Nybegynder
27. august 2006 - 15:30 #3
Du kan bruge ob_start() & Ob_end_flush(): http://www.eksperten.dk/artikler/5
Avatar billede nielle Nybegynder
27. august 2006 - 15:32 #4
Svar :^)
Avatar billede fangel Nybegynder
27. august 2006 - 18:34 #5
Som sagt tidligere, så er det lige meget hvor i koden dit header() kaldt står - blot der intet output kommer før kaldet.

Dette skyldes måden http-protokollen er opbygget på, da et svar altid vil består af først headers, så en tom linje, så sidens indhold. Når du sender noget output er du derfor begyndt på sidens indhold og du kan ikke tilføje flere headers...
Du kan så alt. bruge output-buffering som futurebb nævner, hvilket tvinger php til at samle alt output i en buffer istedet for at sende det afsted med det samme.

Men det bedste er dog at få sit script struktureret så alt output sker efter alt data-behandling - dette vil også give en bedre script-struktur og vil gøre det nemmere at vedligeholde på det lange sigt..

-fangel
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester