လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> session တစ်ခုနှင့်ပြ an နာတစ်ခုနှင့်ပြ a နာတစ်ခုနှင့်ကြုံတွေ့ရသောအခါ Session_Status function ကိုထိရောက်စွာဖြေရှင်းရန်မည်သို့အသုံးပြုရမည်နည်း။

session တစ်ခုနှင့်ပြ an နာတစ်ခုနှင့်ပြ a နာတစ်ခုနှင့်ကြုံတွေ့ရသောအခါ Session_Status function ကိုထိရောက်စွာဖြေရှင်းရန်မည်သို့အသုံးပြုရမည်နည်း။

gitbox 2025-09-03

PHP တွင် Session သည်အသုံးပြုသူ၏ပြည်နယ်ကိုမတူညီသောစာမျက်နှာတောင်းဆိုမှုများအကြားသုံးစွဲမှုကိုထိန်းသိမ်းရန်အလွန်အသုံးများသောကိရိယာတစ်ခုဖြစ်သည်။ Session_Start () function သည် session အစတွင် session data ကိုစတင်ရန်ခွင့်ပြုသည်။ သို့သော်အချို့သောကိစ္စရပ်များတွင်သင်သည်ဘုံပြ problem နာကိုကြုံတွေ့ရနိုင်သည် - session သည်အမှားတစ်ခုရှိပြီးသားဖြစ်သည်။ များသောအားဖြင့် session_start () function ကိုစာမျက်နှာတစ်ခုသို့မဟုတ် script တွင်အကြိမ်ပေါင်းများစွာဟုခေါ်သောအခါသို့မဟုတ်အချို့သောစစ်ဆင်ရေးများတွင်အစည်းအဝေးများသည်မတော်တဆဖွင့်လှစ်မည်ဖြစ်သည်။

ဤပြ problem နာကိုဖြေရှင်းရန် PHP သည်အလွန်အသုံးဝင်သော function session_status () ကိုထောက်ပံ့ပေးသည်။ ၎င်းသည်လက်ရှိ session ၏အခြေအနေကိုရှာဖွေတွေ့ရှိရန်နှင့်မလိုအပ်ပါ

session_status () ကဘာလဲ?

Session_Status () သည်လက်ရှိ PHP session ၏အခြေအနေကိုပြန်လည်ရောက်ရှိစေသည့် Built-in PHP function ဖြစ်သည်။ ဤလုပ်ဆောင်ချက်သည်ဖြစ်နိုင်ချေရှိသောပြန်လည်ထူထောင်ရေးတန်ဖိုးသုံးခုရှိနိုင်သည်။

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

  • php_session_none (1) - လက်ရှိတွင်တက်ကြွစွာအစီအစဉ်မရှိကြောင်းဖော်ပြသည်။

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

ပြန်လာတန်ဖိုးကိုအကဲဖြတ်ခြင်းအားဖြင့် session ပ conflicts ိပက်ခများကိုရှောင်ရှားရန်မတူညီသောလုပ်ရပ်များပြုလုပ်နိုင်သည်။

အဘယ်ကြောင့် "session တည်ရှိပြီးဖြစ်" ပြ issue နာဖြစ်သနည်း

PHP တွင်စာမျက်နှာများကိုဖွင့်သောအခါ session_start () မှတဆင့် session များကိုပုံမှန်အားဖြင့်အစပြုနိုင်သည်။ အကယ်. session_start () ကို တူညီသောတောင်းဆိုမှုတွင်ကွဲပြားခြားနားသောနေရာများတွင်အကြိမ်ပေါင်းများစွာဟုခေါ်သည်ဆိုပါက၎င်းသည် "session တည်ရှိ" အမှားတစ်ခုဖြစ်ပေါ်လိမ့်မည်။ အထူးသဖြင့် PHP အစည်းအဝေးများသည်ကမ္ဘာလုံးဆိုင်ရာထူးခြားသော session ID ကို အခြေခံ. စီမံခန့်ခွဲသောကြောင့်ဖြစ်သည် အကယ်. သင်က၎င်းကိုနေရာများစွာဖြင့်ခေါ်ဆိုပါက PHP သည် session ကိုစတင်ခဲ့ခြင်းအားသတိပေးလိမ့်မည်။

session_status ကိုအသုံးပြုနည်း ( session တည်ရှိပြီးသား "ပြ problem နာကိုရှောင်ရှားရန်?

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

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// session status ကိုစစ်ဆေးပါ</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">session_status</span></span><span>() == PHP_SESSION_NONE) {
    </span><span><span class="hljs-comment">// အဆိုပါ session ကိုစတင်မထားဘူး,လုံခြုံတဲ့ခေါ်ဆိုမှု session_start()</span></span><span>
    </span><span><span class="hljs-title function_ invoke__">session_start</span></span><span>();
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

Code ကိုရှင်းပြပါ။

  1. session_status () လက်ရှိ session ကို၏ status ကိုပြန်ပို့သည်။

  2. php_session_none ဆိုသည်မှာ session ကိုမစတင်ရသေးဟုဆိုလိုသည်။ ဤကိစ္စတွင်သာကျွန်ုပ်တို့သည် session_start () session ကိုစတင်ရန်ခေါ်ဆိုနိုင်သည်။

  3. အကယ်. သင်ခန်းစာသည်တက်ကြွစွာပါ 0 င်ပါက Session ရှိပြီးသားဖြစ်မှုအမှားကိုရှောင်ရှားရန်သင် session_start () ကို ထပ်မံခေါ်ရန်မလိုအပ်ပါ။

ဥပမာ - session_start သို့ထပ်ခါတလဲလဲခေါ်ဆိုမှုများကိုရှောင်ကြဉ်ပါ။

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// တက်ကြွစွာအစည်းအဝေးများရှိမရှိစစ်ဆေးပါ</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">session_status</span></span><span>() == PHP_SESSION_NONE) {
    </span><span><span class="hljs-title function_ invoke__">session_start</span></span><span>();  </span><span><span class="hljs-comment">// ဒီ session ကိုသာမစတင်ပါကစတင်သည်</span></span><span>
}

</span><span><span class="hljs-comment">// session variable တွေကိုသတ်မှတ်ပါ</span></span><span>
</span><span><span class="hljs-variable">$_SESSION</span></span><span>[</span><span><span class="hljs-string">'username'</span></span><span>] = </span><span><span class="hljs-string">'JohnDoe'</span></span><span>;

</span><span><span class="hljs-comment">// output session ကို variable တွေကို</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'Hello, '</span></span><span> . </span><span><span class="hljs-variable">$_SESSION</span></span><span>[</span><span><span class="hljs-string">'username'</span></span><span>];
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

ဤဥပမာတွင်ကျွန်ုပ်တို့သည်စာမျက်နှာကိုပထမဆုံးအကြိမ်ဝင်ရောက်ယှဉ်ပြိုင်သောအခါ session ကိုစတင်ရန်သာ session_status () ကို အသုံးပြုသည်။ ဤနည်းအားဖြင့် Code (သို့) ပြင်ပစာကြည့်တိုက်များရှိအခြားအစိတ်အပိုင်းများသည် session_start () ကို ခေါ်ဆိုရန်ကြိုးစားပါစေအမှားတစ်ခုဖြစ်ပေါ်စေမည်မဟုတ်။

အကျဉ်းချုပ်

session_status () function ကိုအသုံးပြုခြင်းသည် session တွင်ရှိပြီးသားပြ problems နာများကိုရှောင်ရှားရန်ထိရောက်သောနည်းလမ်းဖြစ်သည်။ လက်ရှိ session ၏အခြေအနေကိုအကဲဖြတ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် session_start () ကို ခေါ်ရန်မည်သို့ဆုံးဖြတ်နိုင်သည်။ ၎င်းသည် session ပ conflicts ိပက်ခများကိုရှောင်ရှားနိုင်ရုံသာမက Code ၏ကြံ့ခိုင်မှုကိုပိုမိုကောင်းမွန်စေသည်။ ဖွံ့ဖြိုးတိုးတက်မှုတွင်အထူးသဖြင့်တောင်းဆိုမှုများနှင့်ရှုပ်ထွေးသောစာမျက်နှာဖြစ်စဉ်များတွင်မှန်ကန်သောစည်းမျဉ်းစည်းကမ်းများကိုသေချာစေရန်အလွန်အရေးကြီးသည်။ session_status ကိုအသုံးပြုခြင်း () မလိုအပ်သောအမှားများကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။