Gjest Slettet+6132 Skrevet 28. januar 2006 Del Skrevet 28. januar 2006 (endret) Sitter her og funderer over en feil jeg hverken kan finne eller re-generere. Problemet er at en kamerat (og bare han ) får opp Warning: Cannot modify header information - headers already sent by (output started at /var/www/dvd/inc/header.inc.php:29) in /*/*/*/index.php on line 155 Linje 155 er en header(), og det skal ikke være noe output før det (if-koder i starten av scriptet). Jeg klarer ikke re-generere denne feilen med min PHP5 på localhost, heller ikke med PHP4 på serveren min. Hvorfor kommer da denne feilen? EDIT: Legger ved koden her slik at dere kan lese den lettere. EDIT: Han har forresten PHP4 EDIT: *Banke Jurgis* Endret 28. januar 2006 av Slettet+6132 Lenke til kommentar
allyse Skrevet 28. januar 2006 Del Skrevet 28. januar 2006 Er vel en av echoene dine tenker jeg meg Lenke til kommentar
Ueland Skrevet 28. januar 2006 Del Skrevet 28. januar 2006 Som feilmeldingen din sier: "output started at /var/www/dvd/inc/header.inc.php:29" Sjekk den linjen i det scriptet så finner du feilen. Lenke til kommentar
Gjest Slettet+6132 Skrevet 28. januar 2006 Del Skrevet 28. januar 2006 (endret) Som feilmeldingen din sier: "output started at /var/www/dvd/inc/header.inc.php:29" Sjekk den linjen i det scriptet så finner du feilen. 5512744[/snapback] Har sjekka det, blir ikke så mye mer klok på det. Det som er det rare at alt som er i den fila er HTML, og linje 29 er midt inni HTMLen. Linje 29 er <link rel="stylesheet" href="style.css" type="text/css" media="all" />, og jeg kan ikke se hvorfor den skulle skape en error i PHP når ikke fila skal være inkludert engang. (se vedlegg for referanse) index.php er satt opp slik at når man submitter en form så skal ikke filer som outputter noe inkluderes. Dette fungerer fint på alle mine servere, men funka ikke hos en kamerat. Feilen får jeg hver gang jeg submitter en form på hans server. EDIT: index.php over hadde en bitteliten feil som er fiksa (la opp fila på ny), men det fungerer fortastt ikke. EDIT: Det var en fillefeil i header.inc.php, en ";" etter en if. Fikset det men får samme error på linje 29 EDIT: Selv om jeg fjerner linje 29 får jeg error. Nå står det "</head>" på den linja, hvordan i huleste kan det bli en error der? EDIT: Og fjerner jeg includen til header.inc.php får jeg error i menu.inc.php linje 24, som er en "<ul>". EDIT: Nå skjønner jeg ikke noe som helst. Når jeg bytter ut feks dette: if($_GET['action'] != "print" || $_GET['target'] != "do" || $_GET['action'] != "process") { include("inc/header.inc.php"); include("inc/menu.inc.php"); } med dette: if($_GET['action'] != "print" ) { if($_GET['target'] != "do") { if($_GET['action'] != "process") { include("inc/header.inc.php"); include("inc/menu.inc.php"); } } } Da fungerer det fint, og får ikke noen errors. Men det er jo ikke noe galt med den første koden, (hvis ikke den ELLER hvis ikke den ELLER hvis ikke den, gjør det), og kode nr. 2 blir jo en veldig tåpelig måte å gjøre det på. Noen forslag på hva som skjer? Endret 28. januar 2006 av Slettet+6132 Lenke til kommentar
kakkle Skrevet 28. januar 2006 Del Skrevet 28. januar 2006 Forksjellen på de to if setningene er jo at den første trenger bare at en av testene er sann (enten er action ulik print, eller så er target ulik do, eller så er action ulik process), mens den andre må ha alle testene sann (action ulik print og target ulik do og action ulik process) for at inkluderingen skal skje. Dersom du bruker OG (&&) i den første if setnigen, så skal det fungere likt. I den første, så vil du gjennomføre if setnigen dersom action = "print", pga at den står med action != process også (og omvendt). I den adre setingen, blir ikke det sjekket om action er process dersom den er ulik print. HVis du skjønte det, da... /k Lenke til kommentar
Gjest Slettet+6132 Skrevet 28. januar 2006 Del Skrevet 28. januar 2006 (endret) Forksjellen på de to if setningene er jo at den første trenger bare at en av testene er sann (enten er action ulik print, eller så er target ulik do, eller så er action ulik process), mens den andre må ha alle testene sann (action ulik print og target ulik do og action ulik process) for at inkluderingen skal skje. Dersom du bruker OG (&&) i den første if setnigen, så skal det fungere likt. I den første, så vil du gjennomføre if setnigen dersom action = "print", pga at den står med action != process også (og omvendt). I den adre setingen, blir ikke det sjekket om action er process dersom den er ulik print. HVis du skjønte det, da... /k 5514264[/snapback] Slik det skal fungere er at filene til vanlig skal inkluderes, men hvis enten action er print eller action er process eller target er do så skal ikke filene inkluderes. EDIT: Herregud, såklart har du rett! Skal neimen ikke være lett å tenke Men hvorfor fungerte det da helt perfekt på mine servere, men ikke kompisen sin? Syntes det var merkelig jeg EDIT: Om noen lurte så er det dette prosjektet jeg driver med, nærmer seg første release Endret 28. januar 2006 av Slettet+6132 Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå