⊗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šuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць