Top
Phpuniverset logo
 

INDHOLD

Forside

Job annoncer

Tips og Tricks

Konkurrence

Downloads

Dokumenter

PHP bog shop

Forum

Online udviklere


Propelcom

ARTIKLER

CSS

Diverse

E-handel / annoncer

Grafik

Html

Internet

Javascript

Linux

PHP/MySQL

Programmer

Flash

Søgemaskiner

Windows

C / C++


INFO

Information

Annoncering

Kontakt

Header fejl (headers already sent)

Forside Kategori PHP/MySQL Header fejl (headers already sent)




 

Jeg vil I artiklen kort fortælle om hvorfor fejlen ‘headers already sent’ dukker op.


De fleste nybegyndere indenfor PHP er sikkert stødt på fejlen ’ headers already sent by (output started at c:\web\test.php:2) in c:\web\test.php on line 3’ hvor blot stien, og de to tal er ændret. Fejlen kommer fordi dit script er struktureret forkert. Http-protokollen er opbygget således at alle headers skal komme først og derefter outputtet til browseren.

Hvilke funktioner laver en header?
Header(); session_start(); og cookie(); laver en header, de skal altså stå før alt output til browseren (echo’s, HTML etc.)

Hvad er det helt præcis fejlen fortæller?
Fejlen fortæller som sagt at der er udskrevet en header efter output til browseren, men man kan godt få lidt mere viden om præcis hvor fejlen opstår. Lad os tage eksemplet fra starten:
’ headers already sent by (output started at c:\web\test.php:2) in c:\web\test.php on line 3’
Hvis vi starter med at se på hvad der står inde i parentesen, så kan vi se hvilken side fejlen er sket på, i dette tilfælde test.php. Tallet fortæller os hvor outputtet starter, altså har vi noget output på linie 2 i scriptet. Udenfor parentesen kan stien til scriptet ses igen efterfulgt af endnu et tal. Dette tal fortæller hvor i vores script headeren befinder sig.

Følgende lille script ved vi nu fra start vil give en fejl:

<?php
echo "Vi får en fejl";
header("Location: index.php");
?>

Vi må derfor omstrukturere vores script og det vil da blive til:

<?php
header("Location: index.php");
echo "Vi får ingen fejl";
?>

Hvis man støder på ’headers already sent’-fejlen må man finde ud af hvor i scriptet fejlen lægger og efterfølgende omstrukturere det.

Jeg kan ikke omstrukturere mit script?
Da PHP folket godt ved det er et problem med disse ’headers already sent’ fejl er der lavet en funktion som kan klare opgaven for en. Funktionen er overkill og det anbefales at scriptet i stedet omstruktureres.
I starten af scriptet skrives:

<?php
ob_start();

Og i slutningen af scriptet skrives:

Ob_end_flush();
?>

Denne funktion sørger simpelt for at lægge alt dit output ind i en streng og udskrive det når ob_end_flush(); kaldes.

Skrevet af: ahv@it.dk



Skrevet af: ahv@it.dk| Dato : 2004-02-18 11:4 | Læst : 9256 gange | Print

Din kommentar og karakter til artiklen

Din karakter:

1

2

3

4

5

6

7

8

9

10

Kommentar:

Log ind for at give en karakter og kommentar.

Kommentarer og karakterer til artiklen

 


7/10

"Hej. kan du hjælpe mig med en headers fejl ?.. mysql_query("INSERT INTO startside_forum_svar (navn, billede, svar, dato, nr)VALUES('$navn', '$billede', '$svar', '$dato', '$id')") or die(mysql_error()); header("location: index.php?ID=forum"); } else { Den header, skal laves om. Da den melder headers fejl, når den bliver sendt ind. Som så virker. Men trælst med den fejl."

Thomas Petersen | 06.06.2007, 03:51

 

Send Artikel/anmeldelse til: phpuni@phpuniverset.dk

Tilbage til oversigt

FORUM

Nyeste forum indlæg :

PHP/Opencart import module

Opencart/php import modul hjælp

Lækkert kontor / kontorfællesskab i Helsingør

Opdatering af PHP

Vurdering af hjemmeside

Nyeste forum svar :

Joomla som CMS

Android programmering

Grafik problemer

Prissammenligningsside

Jeg yder fremover ikke support!

 

MEDLEM

LOGIN ER IKKE MULIGT, MENS VI LAVER NYT SITE
 

NYHEDSBREV

Nyhedsbrev

Tilmeld dig vores nyhedsbrev og modtag nyheder om nye scripts og tips samt om mange andre nye tiltag på Phpuniverset.dk


 

© Copyright 2000 Propelcom Phpuniverset's politik om personlige oplysninger, artikler & Koder Phpuniverset er optimeret til Mozilla 1024 * 768 Phpuniverset version: 3.0 beta
Webhost : Ignesco.dk - android talk & help

Bund