⊗ppPmHpRHP 400 of 447 menu

Проблема со заглавките на HTTP одговорот во PHP

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

Работата е во тоа што ако пред повикувањето на оваа функција има какво било излез на екранот, тој ќе се третира како почеток на телото на одговорот. Во овој случај, повикувањето на функцијата header ќе доведе до предупредување од PHP со текст headers already sent. Во овој случај, заглавките може дури и да се испратат. Може дури и грешката да не се прикаже (зависи од поставките на PHP). Но најчесто ова ќе се случи само на локалната машина, а при поставување на веб-страницата на интернет сè ќе прекине со работа.

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

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