လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> session_status ကို သုံး. session ကိုဖွင့်ပြီးထပ်ခါတလဲလဲ startup များကိုရှောင်ရှားခြင်းရှိမရှိဆုံးဖြတ်ရန် Session_Status ကိုသုံးပါ

session_status ကို သုံး. session ကိုဖွင့်ပြီးထပ်ခါတလဲလဲ startup များကိုရှောင်ရှားခြင်းရှိမရှိဆုံးဖြတ်ရန် Session_Status ကိုသုံးပါ

gitbox 2025-05-28

PHP Development တွင်ဖွံ့ဖြိုးတိုးတက်မှုတွင်အစည်းအဝေးများ (session) သည်အလွန်အသုံးများသောလိုအပ်ချက်ဖြစ်သည်။ များသောအားဖြင့်ကျွန်ုပ်တို့သည် session_start () function မှတဆင့် session ကိုစတင်ပါက session_start () ကို ထပ်ခါတလဲလဲဟုခေါ်သည်။ ထို့ကြောင့်, ၎င်းသည် session မစတင်မီလက်ရှိ session ကိုဖွင့်ခြင်းရှိမရှိဆုံးဖြတ်ရန်အလွန်ကောင်းသောပရိုဂရမ်အလေ့အကျင့်တစ်ခုဖြစ်သည်။

PHP နှင့်ပါ 0 င်သော session_status () function သည်ထပ်ခါတလဲလဲ startup များကိုရှောင်ရှားရန်လက်ရှိ session ၏အခြေအနေကိုဆုံးဖြတ်ရန်အသုံးပြုနိုင်သည်။ ဤဆောင်းပါးသည် session_status () function ကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်လေ့လာပါမည်။


session_status () ကဘာလဲ။

Session_Status () သည် PHP 5.4.0 ကိုလက်ရှိ session တစ်ခု၏အခြေအနေကိုရရှိရန်အတွက်မိတ်ဆက်ပေးသည့်လုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ ၎င်းသည်အောက်ပါပြည်နယ်သုံးခုအနက်မှတစ်ခုသို့ပြန်လာသည်။

  • php_session_disabled (integer value 0) - session function ကိုပိတ်ထားသည်ကိုဖော်ပြသည်။

  • php_session_none (integer value 1) - session ကိုမဖွင့်နိုင်သော်လည်းဖွင့်နိုင်သည်ဟုဆိုလိုသည်။

  • php_session_act_action (integer value 2) - session ကိုဖွင့်လှစ်လိုက်ကြောင်းဖော်ပြသည်။

ဤပြန်လည်ထူထောင်ရေးတန်ဖိုးများနှင့်အတူ session_start () ကိုခေါ်ရန်လိုအပ် / ရှိမရှိလုံခြုံစွာဆုံးဖြတ်နိုင်သည်။


Session_Status နှင့်အတူထပ်ခါတလဲလဲစတင်ခြင်းကိုမည်သို့ရှောင်ရှားရမည်နည်း။

ထပ်ခါတလဲလဲ startup များကိုရှောင်ရှားရန်အဓိကသင်္ကေတဥပမာများသည်အောက်ပါအတိုင်းဖြစ်သည် -

 <?php
if (session_status() == PHP_SESSION_NONE) {
    session_start();
}
// နောက်ဆက်တွဲကုဒ်ယုတ္တိဗေဒ
?>

ဤနေရာတွင် Session_Start () ကို session ကိုဖွင့်လှစ်ခြင်းမရှိသေးသည့်အခါသာဟုခေါ်သည်, ထပ်ခါတလဲလဲ startups ကြောင့်ဖြစ်ပေါ်လာသောအမှားများကိုရှောင်ရှားရန်ဖြစ်သည်။


ပြည့်စုံဥပမာ

session_status ကို အသုံးပြု. မည်သို့ဆုံးဖြတ်ရမည်ကိုပြသသည့်ပုံမှန်ဥပမာတစ်ခုဖြစ်သည်။

 <?php
if (session_status() == PHP_SESSION_NONE) {
    session_start();
}

// session variable တွေကိုသတ်မှတ်ပါ
$_SESSION['user'] = 'Zhang San';

// session ကို variable တွေကိုဝင်ရောက်
echo 'လက်ရှိအသုံးပြုသူသည်:' . $_SESSION['user'];
?>

ဤကုဒ်တွင် session_start () ကို တစ်ကြိမ်သာအကောင်အထည်ဖော်နိုင်ပြီး Code ကိုမည်သည့်အချိန်တွင်မပါ 0 င်သည်ဖြစ်စေ,


session_status ကို ဘယ်အချိန်မှာသုံးရမလဲ။

  • ကြီးမားသောစီမံကိန်းများတွင်ဖိုင်များသို့မဟုတ်အတန်းများစွာသည် session တစ်ခုစတင်ရန်ကြိုးစားနိုင်ပြီးထပ်ခါတလဲလဲခေါ်ဆိုမှုများကိုရှောင်ရှားရန် session_status () ကို အသုံးပြုရန်အရေးကြီးသည်။

  • မူဘောင်များသို့မဟုတ်တတိယပါတီစာကြည့်တိုက်များကိုအသုံးပြုသောအခါနောက်ခံအလွှာသည်စာသင်ခန်းကိုစတင်ရန်နှင့်ပ conflicts ိပက်ခများကိုရှောင်ရှားရန်အခြေအနေကိုတရားစီရင်ခြင်းရှိမရှိမသေချာပါ။

  • အထွေထွေကိရိယာများသို့မဟုတ်စာကြည့်တိုက်လုပ်ဆောင်မှုများကိုရေးသည့်အခါကုဒ်၏ကြံ့ခိုင်မှုကိုသေချာအောင်လုပ်ပါ။


မှတ်သားရန်အရာ

  • session_status () function ကို PHP 5.4.0 နှင့်အထက်တွင်သာရနိုင်သည်။

  • session_start ()) မခေါ်မီ "headers senders" အမှားပေါ်လာလိမ့်မည်။

  • server သည် session ကိုပိတ်ထားပါက ( session_status () === php_session_disabled ) ရှိပါက session feature ကိုမသုံးနိုင်ပါ။


URL ဥပမာများနှင့်အတူပေါင်းစပ်

တစ်ခါတစ်ရံတွင်အသုံးပြုသူသည် session တွင်အသုံးပြုသူခုန်ထွက်သော Target URL သည်ကယ်တင်ခြင်းသို့ရောက်လိမ့်မည်။

 <?php
if (session_status() == PHP_SESSION_NONE) {
    session_start();
}

$_SESSION['redirect_url'] = 'https://gitbox.net/path/to/page';

// နောက်ဆက်တွဲခုန်အပြောင်းအလဲနဲ့
header('Location: ' . $_SESSION['redirect_url']);
exit;
?>

အထက်ပါဥပမာတွင် URL ၏ domain name ကို GitBox.net ဖြင့်တိုက်ရိုက်အစားထိုးသည်။ ၎င်းသည်သရုပ်ပြခြင်းနှင့်ရှင်းလင်းချက်အတွက်အဆင်ပြေသည်။


session_status () ကိုအသုံးပြုပြီး () အခါအားလျော်စွာဆွေးနွေးခြင်းကိုထိရောက်စွာစတင်ခြင်းကိုရှောင်ရှားနိုင်ပြီးကုဒ်နှင့်သုံးစွဲသူအတွေ့အကြုံကိုတိုးတက်စေနိုင်သည်။