⊗ppPmHpRHP 400 of 447 menu

HTTP պատասխանի վերնագրերի խնդիրը PHP-ում

HTTP կանոններով նախ ուղարկվում են HTTP վերնագրերը, ապա՝ HTTP պատասխանի մարմինը: Սրա պատճառով PHP-ի header ֆունկցիայի հետ աշխատանքն ունի իր առանձնահատկությունները:

Բանը նրանում է, որ եթե այս ֆունկցիան կանչելուց առաջ էկրանին ինչ-որ արտածում կլինի, այն կմեկնաբանվի որպես պատասխանի մարմնի սկիզբ: Այս դեպքում header ֆունկցիայի կանչը կհանգեցնի PHP-ի նախազգուշացման՝ headers already sent տեքստով: Այդ դեպքում վերնագրերը գուցե նույնիսկ ուղարկվեն: Նույնիսկ գուցե սխալը չարտածվի (կախված է 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हिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել