Pludselig fejl i kode ?!?

Tags:    php

<< < 12 > >>
Jeg får en underig fejl i en kode der hidtil har virket perfekt. Er der nogen der ud fra filerne herunder, kan udlede hvad og hvor fejlen er, samt rette den for mig ?!?

Fejlen:
Warning: Cannot modify header information - headers already sent by (output started at /usr/home/web/web3117/mayday/include/boot.php:55) in /usr/home/web/web3117/mayday/golink.php on line 23

golink.php
Fold kodeboks ind/udKode 


boot.php
Fold kodeboks ind/udKode 


functions.php
Fold kodeboks ind/udKode 


links.php (selve systemet)
Fold kodeboks ind/udKode 


Systemet har virket upåklageligt indtil det seneste server skift..
Systemet kan ses i aktion her http://anakin.dk/mayday/ og fejlen opstår når der klikkes på linkene..

Med venlig Hilsen Frank
http://anakin.dk
Jeg giver ikke point for opgavens størrelse, men for hjælpen der ydes..

[Redigeret d. 18/08-04 22:42:38 af Anakin]



15 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Hejsa

Det har ikke noget med program eller noget at gøre.

Det skyldes at headers altid skal sendes inden browseren får et output.

Dvs dette er ikke korrekt:
<?
echo "test";
header("Location: $url");
exit;
?>

Men derimod er dette korrekt:
<?
header("Location: $url");
exit;
?>

Man skal benytte if else sætninger eller lign hvis den kun skal sendes når nogle ting er sande. Men headers skal ALTID stå først.

Grunden til at det har virket før er muligvis at det er anderledes i gamle versioner.

Man kan muligvis få det til at virke uden man sætter den øverst men det er ikke korrekt og kan resultere i fejl hos nogle brugere.

-----------
mvh
Kim


det skal ikke stå øverst, bare før andet output, og det gør det (tilsyneladene)!

[Redigeret d. 22/08-04 21:10:37 af Jesper Kristensen]



Hejsa
Det har ikke noget med program eller noget at gøre.
Det skyldes at headers altid skal sendes inden browseren får et output.

Dvs dette er ikke korrekt:
<?
echo "test";
header("Location: $url");
exit;
?>

Men derimod er dette korrekt:
<?
header("Location: $url");
exit;
?>

Man skal benytte if else sætninger eller lign hvis den kun skal sendes når nogle ting er sande. Men headers skal ALTID stå først.

Grunden til at det har virket før er muligvis at det er anderledes i gamle versioner.

Man kan muligvis få det til at virke uden man sætter den øverst men det er ikke korrekt og kan resultere i fejl hos nogle brugere.


Dvs. at f.eks. her (dette er slutningen af golink.php
Fold kodeboks ind/udKode 


der skal headers bare flyttes op oven over url ?? eller skal den op oven over result ??

(prøver ihærdigt at forstå det her)

Med venlig Hilsen Frank
http://anakin.dk
Jeg giver ikke point for opgavens størrelse, men for hjælpen der ydes..



nej, den skal blive stående



Til Jesper.... det var hvad jeg mente..... havde ikke læst koden igennem men bare set hvad fejlen sagde.

Til Anakin........ Her er en side som beskriver fejlen.
http://www.phpuniverset.dk/show_artikels.phtml?ArtikelID=18



Tak for artiklen, den er gemt til senere brug (det skal nok komme)

Hvis vi så lige skal afslutte det her, hvor i koden er det så det går galt?? Jeg er ikke så vild med at løse det ved at fjerne ?> for når det har virket før, hvorfor gør det så ikke nu ?!?


Med venlig Hilsen Frank
http://anakin.dk
Jeg giver ikke point for opgavens størrelse, men for hjælpen der ydes..



<< < 12 > >>
t