⊗ppPmHpRHP 400 of 447 menu

PHP-də HTTP Cavab Başlıqları Problemi

HTTP qaydalarına görə, əvvəlcə HTTP başlıqları göndərilir, sonra isə HTTP cavabının gövdəsi. Buna görə də PHP-də header funksiyası ilə işin özünəməxsus xüsusiyyətləri var.

Məsələ ondadır ki, əgər bu funksiya çağırılmazdan əvvəl ekrana hər hansı bir çıxış olarsa, o, cavab gövdəsinin başlanğıcı kimi şərh ediləcək. Bu halda header funksiyasının çağırılması headers already sent mətnli PHP xəbərdarlığına səbəb olacaq. Bu zaman başlıqlar hətta göndərilə bilər. Hətta səhv də çıxmayabilər (PHP parametrlərindən asılı olaraq). Lakin çox zaman bu yalnız lokal mühitdə baş verər, sayt internetə çıxarılanda isə hər şey pozular.

Ekrana çıxış dedikdə istənilən mətn nəzərdə tutulur. Məsələn, belə:

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

Və ya boş sətir:

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

Və ya boşluq:

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

Və ya teq:

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

Və ya echo vasitəsilə çıxış:

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

Və ya var_dump vasitəsilə çıxış:

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

Hətta PHP xəbərdarlıqları da ekrana çıxış sayılacaq. Aşağıdakı nümunədə qəsdən mövcud olmayan dəyişənə müraciət edilir, bu da xəbərdarlığın çıxmasına səbəb olacaq:

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

PHP mötərizələrinin arasına başqa kod yazılması da ekrana çıxış yaradır:

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

header funksiyasından əvvəl qəsdən ekrana çıxış yaradın. Yaranan səhvin mətnini öyrənin.

Bu koddakı səhvi düzəldin:

<!DOCTYPE html> <html> <head> <?php header('Content-Type: text/html'); ?> </head> <body> text <body> <html>
Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČ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
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et