⊗ppPmHpRHP 400 of 447 menu

Проблем са заглављима HTTP одговора у PHP

По правилима HTTP прво се шаљу HTTP заглавља, а затим тело HTTP одговора. Због тога рад са функцијом header у PHP има своје специфичности.

Ствар је у томе што ако пре позива ове функције буде било каква пријава на екран, она ће бити тумачена као почетак тела одговора. У том случају позив функције header довешће до упозорења у PHP-у са текстом headers already sent. При том заглавља се можда ни неће послати. Можда се ни грешка неће приказати (зависи од подешавања PHP-a). Али најчешће ће то бити само на локалној машини, а при објављивању сајта на интернету све ће се покварити.

Под приказом на екран подразумева се било који текст. На пример, овако:

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

Или празан ред:

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

Или размак:

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

Или таг:

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

Или приказ преко echo:

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

Или приказ преко var_dump:

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

Чак ће и упозорења PHP-а бити прикази на екран. У следећем примеру намјерно се приступа непостојећој промјењивој, што ће довести до приказа упозорења:

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

Раздвајање PHP заграда такође генерише приказ на екран:

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

Намјерно направите приказ на екран пре функције header. Проучите текст настале грешке.

Исправите грешку допуњену у овом коду:

<!DOCTYPE html> <html> <head> <?php header('Content-Type: text/html'); ?> </head> <body> текст <body> <html>
Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј