Avatar billede Calle5463 Forsker
09. oktober 2013 - 16:45 Der er 15 kommentarer og
1 løsning

Cannot modify header

Jeg får den her når det er på min host:

Warning: Cannot modify header information - headers already sent by (output started at /customers/7/0/2/........dk/httpd.www/....../logintjek.php:22) in /customers/7/0/2/.........dk/httpd.www/....../logintjek.php on line 59

Kode:

21
22 <?php
23 if((!$_POST['username'])||(!$_POST['password'])){
24    $msg="Du skal udfylde login";
25    header("Location:index-login.php?msg=$msg");
26    exit;
27 }
28


Det virker på min egen server (EasyPHP)!!
Avatar billede repox Seniormester
09. oktober 2013 - 17:22 #1
Har du en blank linie på linie 21? I så fald er det problemet.
Avatar billede Calle5463 Forsker
09. oktober 2013 - 17:38 #2
Yep. Har uden effekt fjernet den. :-(
Har inden opslag af spørgsmål læst her på stedet om whitespace og uden held prøvet at gøre noget ved. Måske fordi jeg ikke helt forstod det.
Har også uden effekt prøvet at redigere 22-26 sammen i en linie.
Avatar billede Calle5463 Forsker
09. oktober 2013 - 17:40 #3
Edit: 22-27
Avatar billede Calle5463 Forsker
09. oktober 2013 - 17:42 #4
Filen er gemt med Tegnsæt: iso-8859-1
Avatar billede repox Seniormester
09. oktober 2013 - 17:47 #5
Pastebin af hele filen?
Avatar billede cas000q1 Nybegynder
09. oktober 2013 - 17:48 #6
Første gang du bruge echo eller pint og ligende, så bliver header sendt:/ og header kan kun sendes en gang så enten har du allerede brugt din header, eller også "brugt" den på echo print eller lign.
Håber det hjalp lidt, du kan eventuelt bruge en if statment og med html reflest, og sæt en url rediret på den.
Avatar billede Calle5463 Forsker
09. oktober 2013 - 17:55 #7
#6 - men hvorfor virker det på min egen server?
#5 - pastebin gør jeg hvordan (jeg er ikke SÅ velbevandret :-) )?
Avatar billede repox Seniormester
09. oktober 2013 - 18:21 #8
Din opsætning med EasyPHP kan være årsagen. Jeg kender det ikke, så det er ikke til at sige.

Til gengæld reagerer din liveserver som den skal - læs eventuelt min artikel om problemet her: http://err0r.dk/artikler/vis/de_mest_almindelige_fejl_beg_et_i_php#headers
Avatar billede Calle5463 Forsker
09. oktober 2013 - 18:24 #9
#8 - det du siger er, at jeg skal have ændret et eller andet i opsætnngen af EasyPHP så den kører so min live server? (hvad/hvor skal jeg kigge?)
Avatar billede repox Seniormester
09. oktober 2013 - 19:02 #10
Har ingen anelse - men jeg ved at EasyPHP gør det uhensigtsmæssigt. Hvis det er et standard setup ville jeg nok vælge noget andet.
Avatar billede Calle5463 Forsker
09. oktober 2013 - 19:08 #11
#10 - ja, min korte reaktion på det er, at det for f..... da er noget l... det ikke virker ens. Så er man jo ligevidt når man tror det virker!!
Avatar billede repox Seniormester
09. oktober 2013 - 19:32 #12
Problemet er jo reelt set at du udvikler i to forskellige miljøer - det vil altid give problemer.
Avatar billede nemlig Professor
09. oktober 2013 - 21:45 #13
Jeg kan da også lige tilføje, at jeg lokalt anvender Wampserver, og den "fanger" heller ikke i sin standardopsætning, hvis der allerede er sendt noget til header, når funktionen header() kaldes.
Det er en indstilling i php.ini, der skal rettes - mener jeg.
Avatar billede repox Seniormester
09. oktober 2013 - 22:28 #14
Det er fordi du kan slå output buffering til som standard - det svarer til at du kører i bil med airbags pustet op; det er upraktisk, giver falsk tryghed og der er ingen i den virkelige verden der gør det. Så når man lægger sin kode op på en produktionsserver, vil serveren selvfølgelig forsøge at eksekvere koden som den skal.

Som udgangspunkt, så er det altid et no-go at udvikle PHP løsninger på en Windows Server - især ikke når man ikke lægger sin kode op på en Windows server også.
Avatar billede Calle5463 Forsker
24. oktober 2013 - 00:22 #15
Jeg er blevet bedt om at lukke denne tråd, så repox, hvis du lige smider et svar (mere), så får du point for din ihærdighed og højnelse af min forståelse (hmm, omend jeg kan mærke der er laangt endnu  :-) )
Avatar billede Calle5463 Forsker
08. november 2013 - 18:23 #16
Ingen respons fra repox, så jeg spiser selv pointene :-S
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