Header() virker ikke med PHP5

Tags:    programmering

<< < 12 > >>
Hej alle!

Jeg har forleden opgraderet min server til at køre Apache 2 og PHP5. Men efter det vil header() ikke virke mere.

Linjer som denne:
Fold kodeboks ind/udKode 

sker der simpelthen ikke noget ved.

Operationen bliver godt nok udført (fx brugeren bliver logget ind, men sendes bare ikke til index.php).

Jeg har googlet og googlet, men intetaf det jeg kan finde ser ud til at virke.

Jeg håber virkelig at I kan hjælpe!

Med Venlig Hilsen
Dan



Kommer der fejlbeskeder?

Prøv at skrive en valid header, det vil sige stort L i Location og mellemrum efter kolonnet.

header('Location: index.php');



Kommer der fejlbeskeder?

Prøv at skrive en valid header, det vil sige stort L i Location og mellemrum efter kolonnet.

header('Location: index.php');


Nej, der kommer ingen fejlbeskeder, det er ret underligt.
Jeg har prøvet at skrive den som du foreslår, men det virker stadig ikke.

Jeg fristes næsten til at tro, at det er noget med PHP :|



er du sikker på at det ikke er en eller anden if, der gør funktionen ikke kaldes? Eller er visning af fejl slået fra? Header-funktionen virker skam som den plejer i php5



Ja, det er jo det.

Jeg har en if hvor jeg checker om brugeren er logget ind. Hvis brugeren er logget ind, sætter jeg en session og redirecter så til index.php. Men istedet for at gå til index.php bliver den på min validate.php side. Hvis jeg selv går til index.php så er jeg logget ind.

Forstår det ikke helt selv, det er som om den linje ikke er der :S



Ja, det er jo det.

Jeg har en if hvor jeg checker om brugeren er logget ind. Hvis brugeren er logget ind, sætter jeg en session og redirecter så til index.php. Men istedet for at gå til index.php bliver den på min validate.php side. Hvis jeg selv går til index.php så er jeg logget ind.

Forstår det ikke helt selv, det er som om den linje ikke er der :S

Ligger din if "logget ind og send til index.php"-ting før du sætter fx: $_SESSION['loggetInd'] = 1;?




Du kan se koden her, så vidt jeg kan se er det hele i den rigtige rækkefølge.. Desuden har jeg ikke ændret koden efter opdateringen, så hvis det har virket før, burde det vel også virke nu? Men her er koden i hvert fald:

Fold kodeboks ind/udKode 


P.S. er ingen php super coder, og den løsning der er sikkert ikke sikker overhovedet :)



Er du sikker på du kommer til header, har du prøvet at skrivet print('et eller andet'); forskellige steder i koden?



Har lige prøvet at sætte print('session set'); ind lige over header() linjen. session set bliver fint skrevet ud på siden, men jeg bliver ikke redirected.

Desuden bliver brugeren jo logget ind og da det er i samme if-block, kan det jo "bevise" at koden bliver ekserveret.

Synes det er et ret underligt problem det her. :/



Du kan se koden her, så vidt jeg kan se er det hele i den rigtige rækkefølge.. Desuden har jeg ikke ændret koden efter opdateringen, så hvis det har virket før, burde det vel også virke nu? Men her er koden i hvert fald:

Fold kodeboks ind/udKode 


P.S. er ingen php super coder, og den løsning der er sikkert ikke sikker overhovedet :)


Har du prøvet at fjerne ", true" fra "header('Location: index.php', true);"?

Måske bliver warnings ikke vist, pga. din php.ini fil, prøv at sætte den her
Fold kodeboks ind/udKode 
ind lige før du sender header...



Indlæg senest redigeret d. 01.07.2006 20:36 af Bruger #6791
Ja, tjek lige at error_reporting=E_ALL og display_errors=On



<< < 12 > >>
t