⊗ppPmHpRHP 400 of 447 menu

Problem med HTTP-svarshoveder i PHP

Ifølge HTTP-reglerne sendes HTTP-hoveder først, og derefter HTTP-svarsteksten. På grund af dette har arbejdet med funktionen header i PHP sine særligheder.

Faktum er, at hvis der er noget output til skærmen før kald til denne funktion, vil det blive fortolket som starten på svarsteksten. I dette tilfælde vil et kald til funktionen header føre til en PHP-advarsel med teksten headers already sent. I dette tilfælde kan hovederne muligvis sendes. Fejlen vises måske ikke engang (afhængigt af PHP-indstillingerne). Men oftest vil dette kun ske på den lokale maskine, og når hjemmesiden lægges på internettet, går det i stykker.

Med output til skærmen menes enhver tekst. For eksempel sådan her:

text <?php header('Content-Type: text/html'); ?>

Eller en tom linje:

<?php header('Content-Type: text/html'); ?>

Eller et mellemrum:

<?php header('Content-Type: text/html'); ?>

Eller et tag:

<div> <?php header('Content-Type: text/html'); ?> </div>

Eller output via echo:

<?php echo 'abc'; header('Content-Type: text/html'); ?>

Eller output via var_dump:

<?php $str = 'abc'; var_dump($str); header('Content-Type: text/html'); ?>

Selv PHP-advarsler vil være output til skærmen. I det følgende eksempel henvises der med vilje til en ikke-eksisterende variabel, hvilket vil føre til output af en advarsel:

<?php $text += 1; header('Content-Type: text/html'); ?>

Ophævelser af PHP-parenteser genererer også output til skærmen:

<?php echo 'abc'; ?> <?php header('Content-Type: text/html'); ?>

Skab med vilje output til skærmen før funktionen header. Undersøg teksten i den opståede fejl.

Ret fejlen begået i denne kode:

<!DOCTYPE html> <html> <head> <?php header('Content-Type: text/html'); ?> </head> <body> text <body> <html>
Dansk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruger cookies til webstedets funktion, analyse og personalisering. Behandling af data foregår i henhold til Fortrolighedspolitikken.
accepter alle tilpas afvis