⊗ppPmHpRHP 400 of 447 menu

PHPда HTTP жавоб сарлавҳалари муаммоси

HTTP қоидаларига кўра, аввал HTTP сарлавҳалари юборилади, сўнг HTTP жавоб танаси. Шу сабабдан PHPда header функцияси билан ишлаш ўзига хос хусусиятларга эга.

Гap шу функцияни чақиришдан олдин экранга бирондар матн чиқса, у жавоб танасининг бошланғичи деб ҳисобланади. Бундай ҳолда header функциясини чақириш headers already sent матни билан PHP огоҳлантиришига олиб келади. Бунда сарлавҳалар юборилиши ҳам мумкин. Ҳатто хатолик чиқмаслиги ҳам мумкин (PHP созламаларига боғлиқ). Лекин кўпинча бу фақат локал серверда бўлади, веб-сайт интернетга чиқарилганда ҳаммаси бузилиши мумкин.

Экранга чиқариш деганда ҳар қандай матн назарда тутилади. Масалан, шундай:

матн <?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ščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш