လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> header () function ကို သုံး. ပြန်ညွှန်းသောအခါအဘယ်ကြောင့်စာမျက်နှာကွက်လပ်ပေါ်လာသနည်း။ ဒီပြ problem နာကိုဖြေရှင်းပြီးဘယ်လိုဖြေရှင်းနိုင်မလဲ။

header () function ကို သုံး. ပြန်ညွှန်းသောအခါအဘယ်ကြောင့်စာမျက်နှာကွက်လပ်ပေါ်လာသနည်း။ ဒီပြ problem နာကိုဖြေရှင်းပြီးဘယ်လိုဖြေရှင်းနိုင်မလဲ။

M66 2025-07-28

PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်စာမျက်နှာအတွက် header () function ကိုအသုံးပြုခြင်းသည်ဘုံအလေ့အကျင့်တစ်ခုဖြစ်သည်။ ဥပမာအားဖြင့်:

 header("Location: http://m66.net/anotherpage.php");
exit;

အထက်ပါကုဒ်သည်အသုံးပြုသူအား http://m66.net/anet/anothage.php စာမျက်နှာသို့ redirect လုပ်လိမ့်မည်။ Redirection သည်အလွန်ရိုးရှင်းပြီး ဘုံ ခွဲစိတ်ကုသမှုတစ်ခုဖြစ်သော်လည်းတစ်ခါတစ်ရံတွင်စာမျက်နှာများကိုအလွတ်စာမျက်နှာများကိုကြုံတွေ့ရလိမ့်မည်။ ဤဆောင်းပါးသည်စာမျက်နှာအလွတ်နှင့်ပြ esh နာဖြေရှင်းခြင်းနှင့်ဖြေရှင်းနည်းများကိုအဘယ်ကြောင့်ဖြစ်ရသည့်အကြောင်းရင်းများကိုရှင်းပြပါလိမ့်မည်။

1 ။ header () function ကိုမတိုင်မီ output ရှိပါသလား

header () function ကို HTML output မတိုင်မီကိုခေါ်ရမည်။ HTML ပါဝင်မှု (ဥပမာနေရာများ, လိုင်းချိုးဖောက်မှုများ, အမှားအယွင်းများစသဖြင့်) header () function ကိုမခေါ်မီ) header () function ကိုမခေါ်မီ output သည် output ကိုဖွင့်ထားပြီး,

ဖြေရှင်းချက် -

  • header () function ကိုမတိုင်မီ output မရှိကြောင်းသေချာပါစေ။ ဖိုင်များ, line breaks သို့မဟုတ်ဖိုင်၏အစအ ဦး အကြား HTML အကြောင်းအရာများရှိ,

  • မမျှော်လင့်သော output ကိုရှောင်ရှားရန်ဖိုင်၏အစတွင်နေရာများသို့မဟုတ်အသစ်များမရှိသေးပါ။ ဖိုင်၏ BOM (byte အမှာစာအမှတ်အသား) ကိုကြည့်ခြင်းအားဖြင့်ဖိုင်ကိုမှန်ကန်စွာ encoding သည်ရှိမရှိစစ်ဆေးနိုင်သည်။

ခြေလှမ်းများကိုဖြေရှင်းခြင်း

  1. PHP ဖိုင်ကိုဖွင့်ပြီး header () function ကိုမတိုင်မီ output မရှိကြောင်းအတည်ပြုပါ။

  2. လိုအပ်ပါကအစောပိုင်း output ကိုရှောင်ရှားရန် output ကိုကြားခံဖွင့်ရန် ob_start () ကို သုံးပါ။

 <?php
ob_start(); // output ကိုကြားခံဖွင့်ပါ
header("Location: http://m66.net/anotherpage.php");
exit;
ob_end_flush(); // output buffer နှင့် output ကိုရှင်းလင်းပါ
?>

2 ။ header header () ကို ခေါ်ပြီးနောက် ထွက်ပေါက် () function ကိုဖြစ်ပါတယ်?

header () function သည် script လုပ်ဆောင်မှုကိုချက်ချင်းမရပ်ပါ။ ထွက်ပေါက် ( ) function ကိုနောက်ပိုင်းတွင်ခေါ်ဆိုခြင်းမှသာ script ကိုရပ်ဆိုင်းလိုက်လိမ့်မည်။ ထို့ကြောင့်သင် ထွက်ပေါက် () ဟောင်ကောင်ခေါ်ဆိုမှု ()) ခေါ်ဆိုခြင်း () မခေါ်ပါက PHP သည်နောက်ဆက်တွဲကုဒ်ကိုဆက်လက်လုပ်ဆောင်နိုင်ပြီးစာမျက်နှာရှိအမှားအယွင်းများကိုဆက်လက်လုပ်ဆောင်နိုင်လိမ့်မည်။

ဖြေရှင်းချက် -

  • Exit () header () header () header () function ကိုချက်ချင်းခေါ်ပါ () function ကို script သည် Excription Execution နှင့်အခြားမည်သည့်အကြောင်းအရာမှထုတ်လုပ်မှုကိုအဆုံးသတ်ရန်သေချာစေရန်။

 header("Location: http://m66.net/anotherpage.php");
exit; // script ကွပ်မျက်ရပ်စဲကြောင်းသေချာပါစေ

3 ။ ခေါင်းစီးသတင်းအချက်အလက်ကိုပို့ပြီးပြီလား

header အချက်အလက်များကို ခေါင်းစီးများ () function ကို ဖြတ်. ပို့ခြင်းရှိမရှိစစ်ဆေးနိုင်သည်။ အကယ်. header () function ကိုဟုခေါ်သောအခါ browser သည် header အချက်အလက်များကိုလက်ခံရရှိပါက PHP သည် header အချက်အလက်များကိုထပ်မံပေးပို့နိုင်လိမ့်မည်မဟုတ်,

ဖြေရှင်းချက် -

  • header () function ကိုမခေါ်မီခေါင်းစီးသတင်းအချက်အလက်များကိုပို့ခြင်းရှိမရှိစစ်ဆေးရန် headers_sent () function ကိုသုံးပါ။

  • header ကိုပေးပို့သော Ob_start () output ကို buffer လုပ်ရန်အသုံးပြုနိုင်သည်။

 if (!headers_sent()) {
    header("Location: http://m66.net/anotherpage.php");
    exit;
} else {
    echo "redirect မရပါ,header သတင်းအချက်အလက်ပေးပို့ခဲ့သည်";
}

4 ။ စာမျက်နှာကိုကွက်လပ်ဖြစ်စေတဲ့ PHP အမှားတစ်ခုရှိပါသလား။

PHPPS ကို PHP အမှားများကြောင့်ဖြစ်ရခြင်းဖြစ်နိုင်သည်။ ပုံမှန်အားဖြင့် PHP သည်အမှားအယွင်းများကိုမပြနိုင်သော်လည်းစာမျက်နှာအလွတ်အလွတ်များ။ အမှားအစီရင်ခံစာကိုဖွင့်ခြင်းအားဖြင့်အလားအလာရှိသောပြ problems နာများရှိ, မရှိစစ်ဆေးနိုင်သည်။

ဖြေရှင်းချက် -

  • ဖွံ့ဖြိုးရေးစဉ်အတွင်း PHP အမှားအယွင်းများကိုရှာဖွေတွေ့ရှိရန်နှင့်အလားအလာအမှားများကိုရှာဖွေရန်နှင့်ဖြေရှင်းရန်ကိုဖွင့်ပါ။

 error_reporting(E_ALL);  // အားလုံးအမှားအစီရင်ခံစာများကိုဖွင့်
ini_set('display_errors', 1);  // စာမျက်နှာပေါ်တွင်အမှားအယွင်းများကိုပြပါ

5 ။ Redirection အတွက်အသုံးပြုသောမှန်ကန်သော HTTP status status ကိုကုဒ်လား။

header () function ကို အသုံးပြု. ပြန်ညွှန်းခြင်းသည် HTTP status code ကိုအသုံးပြုကြောင်းသေချာပါစေ။ ပုံမှန် redirect status status ကိုကုဒ်နံပါတ် 302 (ယာယီ redirect) ဖြစ်ပါတယ်။ သင်၏ redirect သည်အမြဲတမ်းတည်ရှိပါက 301 status code ကိုသုံးသင့်သည်။

 header("Location: http://m66.net/anotherpage.php", true, 301); // အမြဲတမ်း redirection
exit;

အကျဉ်းချုပ်

အထက်ပါပြ troubl နာဖြေရှင်းခြင်းအဆင့်များဖြင့်ကျွန်ုပ်တို့သည် header () function ကိုအသုံးပြုခြင်းကိုပြန်ဖွင့်သည့်အခါစာမျက်နှာကွက်လပ်ပြ the နာကိုရှာဖွေတွေ့ရှိနိုင်သည်။ အဓိကစစ်ဆေးရေးအချက်များတွင် -

  • header မတိုင်မီ output ကိုမလိုအပ်ကြောင်းသေချာပါစေ။

  • Exit () သည် Execution Execution ရပ်စဲစေရန်သေချာစေရန်ခေါ်ဆိုပါ။

  • header မက်ဆေ့ခ်ျကိုပို့ပြီးစစ်ဆေးပါ။

  • အခြားအမှားမက်ဆေ့ခ်ျများရှိမရှိကြည့်ရန်အမှားအစီရင်ခံစာကိုဖွင့်ပါ။

ဤအစီအမံများမှတဆင့်စာမျက်နှာကွက်လပ်ပြ the နာကိုသင်ရှောင်ရှားနိုင်ပြီး redirects များကိုစနစ်တကျအလုပ်လုပ်နိုင်သည်။

  • သက်ဆိုင်သောတက်(ဂ်)များ:

    header
မကြာသေးမီ ဆောင်းပါးများ