⊗ppPmHpRHP 400 of 447 menu

PHP-তে HTTP রেসপন্স হেডারের সমস্যা

HTTP নিয়ম অনুসারে, প্রথমে HTTP হেডার প্রেরণ করা হয়, এবং তারপর HTTP রেসপন্সের বডি। এই কারণে PHP-তে header ফাংশন ব্যবহারের কিছু নিজস্ব বৈশিষ্ট্য রয়েছে।

সমস্যাটি হল যে, যদি এই ফাংশনটি কল করার আগে পর্দায় কোনো আউটপুট থাকে, তাহলে সেটিকে রেসপন্স বডির শুরু হিসেবে বিবেচনা করা হবে। এই ক্ষেত্রে, 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
আমরা সাইট পরিচালনা, বিশ্লেষণ এবং ব্যক্তিগতকরণের জন্য কুকি ব্যবহার করি। ডেটা প্রক্রিয়াকরণ গোপনীয়তা নীতি অনুযায়ী করা হয়।
সব গ্রহণ করুন কনফিগার করুন প্রত্যাখ্যান করুন