Avatar billede stieper Nybegynder
12. februar 2007 - 00:56 Der er 11 kommentarer og
1 løsning

Indhold vises kun når "modify header - fejl" vises?

Hej eksperter,

Jeg er kommet ud for et besynderligt problem.

Jeg har et lille "archive" script til mit phpbb forum, som hiver data ud af min db, og viser url's via mod_rewrite i en søgemaskinevenlig udgave.

Kildekoden kan hentes her:
http://www.brugtstyling.dk/forum/archive/arkiv_kode.phps

Problemet er, at når jeg vil se et indlæg via arkivet, viser den ingen indhold - bare en blank side.

Tilføjer jeg så et mellemrum inden mit opening tag sådan:

1.          <--- mellemrum her!
2.<?php

- Ja så får jeg naturligvis min "cannot modify header - already sent by xx.x.." advarsel...

Men samtidig vises det korrekte indlæg nedenunder??

Hvad kan det skyldes?


Med venlig hilsen stieper
Avatar billede jakobdo Ekspert
12. februar 2007 - 17:22 #1
Kan det skyldes BOM i din editor?
Nogle editorer sætter FF FE i starten af en UTF8 fil.
Prøv at vis din fil i en hex-editor.
Avatar billede stieper Nybegynder
12. februar 2007 - 17:36 #2
Skulle ikke mene at det er min editor. Bruger Dreamweaver 8, og har aldrig haft problemer hermed.

Virker jo også underligt, eftersom fejlmedd. kommer på det korrekte tidspunkt, når jeg manuelt har et output før min kode (mellemrummet i dette tilfælde). Det underlige er så bare, at fjerner jeg mellemrummet forsvinder resten af indholdet på siden sammen med fejlmedd.

forresten har jeg pt. mellemrummet stående - resultatet kan ses her:

http://www.brugtstyling.dk/archive/index.php

---> Vælg en af kategorierne og dernæst et indlæg - så kommer fejlen.
Avatar billede jakobdo Ekspert
12. februar 2007 - 17:42 #3
Avatar billede stieper Nybegynder
12. februar 2007 - 17:54 #4
Avatar billede jakobdo Ekspert
12. februar 2007 - 18:02 #5
Det ser godt nok mærkeligt ud ja!
Avatar billede stieper Nybegynder
12. februar 2007 - 18:08 #6
Jeg kan dælme heller ikke lige greje det, men mistænker mod_rewrite for at have en del af skylden, uden at kunne komme nærmere.

Jeg har ligeledes forsøgt mig med conditions i mit forum, hvis $_server[php_self] var archive/index.php - men det virker jo netop ikke pga. mod_rewrite, da man rent faktisk går til addressen forum/viewtopic.php?id=xxx....

Desuden har jeg prøvet at tvinge php til ikke at udskrive fejlen, hvilket dog medfører fejl på resten af sitet, da header-outputtet jo kommer midt i en fil som bruges af alle sider.

Næste skridt må være at sætte en global variabel i archive/index.php koden, og så tjekke for denne variabel i emne-outputtet...
Avatar billede stieper Nybegynder
14. februar 2007 - 21:03 #7
Har fundet ud af at fejlen relaterer sig til funktionen

ob_start();

Tilsyneladende en funktion til at slå output buffering til.. Men forstår ikke, hvorfor der ikke kommer noget output - det er jo kun header fejlmedd. som undertrykkes - variablerne burde vel stadig være tilgængelige fra det pågældende script??
Avatar billede stieper Nybegynder
14. februar 2007 - 21:11 #8
Bemærk:  Before PHP 4.3.2 this function did not return FALSE in case the passed output_callback can not be executed.

Dette må vel være årsagen, da surftown for nyligt har opdateret serverne til PHP Version 4.4.4 - eller er jeg helt galt i byen?
Avatar billede jakobdo Ekspert
14. februar 2007 - 22:08 #9
Jeg er desværre stået helt af, så jeg kan ikke hjælpe dig mere! :o/
Avatar billede stieper Nybegynder
15. februar 2007 - 08:41 #10
Bare i orden - håber nogle andre ser tråden ;o)

Det er bare ski.. ærgerligt, da rigtig mange sider i dette arkiv er indekseret af google - og det ødelægger jo lidt det hele, hvis titlen nu bliver en header fejl.. :o(
Avatar billede jakobdo Ekspert
15. februar 2007 - 09:01 #11
Nogle gange kan du få lidt mere opmærksomhed, ved at lukke denne tråd og oprette en ny med de nye erfaringer du har gjort dig.
Avatar billede stieper Nybegynder
15. februar 2007 - 09:05 #12
Ok det gør jeg hermed.
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