PHP တွင် Session သည်အသုံးပြုသူ၏ပြည်နယ်ကိုမတူညီသောစာမျက်နှာတောင်းဆိုမှုများအကြားသုံးစွဲမှုကိုထိန်းသိမ်းရန်အလွန်အသုံးများသောကိရိယာတစ်ခုဖြစ်သည်။ Session_Start () function သည် session အစတွင် session data ကိုစတင်ရန်ခွင့်ပြုသည်။ သို့သော်အချို့သောကိစ္စရပ်များတွင်သင်သည်ဘုံပြ problem နာကိုကြုံတွေ့ရနိုင်သည် - session သည်အမှားတစ်ခုရှိပြီးသားဖြစ်သည်။ များသောအားဖြင့် session_start () function ကိုစာမျက်နှာတစ်ခုသို့မဟုတ် script တွင်အကြိမ်ပေါင်းများစွာဟုခေါ်သောအခါသို့မဟုတ်အချို့သောစစ်ဆင်ရေးများတွင်အစည်းအဝေးများသည်မတော်တဆဖွင့်လှစ်မည်ဖြစ်သည်။
ဤပြ problem နာကိုဖြေရှင်းရန် PHP သည်အလွန်အသုံးဝင်သော function session_status () ကိုထောက်ပံ့ပေးသည်။ ၎င်းသည်လက်ရှိ session ၏အခြေအနေကိုရှာဖွေတွေ့ရှိရန်နှင့်မလိုအပ်ပါ ။
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 ိပက်ခများကိုရှောင်ရှားရန်မတူညီသောလုပ်ရပ်များပြုလုပ်နိုင်သည်။
PHP တွင်စာမျက်နှာများကိုဖွင့်သောအခါ session_start () မှတဆင့် session များကိုပုံမှန်အားဖြင့်အစပြုနိုင်သည်။ အကယ်. session_start () ကို တူညီသောတောင်းဆိုမှုတွင်ကွဲပြားခြားနားသောနေရာများတွင်အကြိမ်ပေါင်းများစွာဟုခေါ်သည်ဆိုပါက၎င်းသည် "session တည်ရှိ" အမှားတစ်ခုဖြစ်ပေါ်လိမ့်မည်။ အထူးသဖြင့် PHP အစည်းအဝေးများသည်ကမ္ဘာလုံးဆိုင်ရာထူးခြားသော session ID ကို အခြေခံ. စီမံခန့်ခွဲသောကြောင့်ဖြစ်သည် ။ အကယ်. သင်က၎င်းကိုနေရာများစွာဖြင့်ခေါ်ဆိုပါက PHP သည် session ကိုစတင်ခဲ့ခြင်းအားသတိပေးလိမ့်မည်။
session ကိုမတော်တဆပြန်လည်စတင်ရန်ရှောင်ရှားနိုင်ရန်အတွက်လက်ရှိ session ၏အခြေအနေကိုဆုံးဖြတ်ရန်ကျွန်ုပ်တို့သည် session_status () function ကိုသုံးနိုင်သည်။ Session_Start () ကို session မစတင်ရသေးသောအခါသာဟုခေါ်သည်။
<span><span><span class="hljs-meta"><?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">?></span></span><span>
</span></span>session_status () လက်ရှိ session ကို၏ status ကိုပြန်ပို့သည်။
php_session_none ဆိုသည်မှာ session ကိုမစတင်ရသေးဟုဆိုလိုသည်။ ဤကိစ္စတွင်သာကျွန်ုပ်တို့သည် session_start () session ကိုစတင်ရန်ခေါ်ဆိုနိုင်သည်။
အကယ်. သင်ခန်းစာသည်တက်ကြွစွာပါ 0 င်ပါက Session ရှိပြီးသားဖြစ်မှုအမှားကိုရှောင်ရှားရန်သင် session_start () ကို ထပ်မံခေါ်ရန်မလိုအပ်ပါ။
<span><span><span class="hljs-meta"><?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">?></span></span><span>
</span></span>ဤဥပမာတွင်ကျွန်ုပ်တို့သည်စာမျက်နှာကိုပထမဆုံးအကြိမ်ဝင်ရောက်ယှဉ်ပြိုင်သောအခါ session ကိုစတင်ရန်သာ session_status () ကို အသုံးပြုသည်။ ဤနည်းအားဖြင့် Code (သို့) ပြင်ပစာကြည့်တိုက်များရှိအခြားအစိတ်အပိုင်းများသည် session_start () ကို ခေါ်ဆိုရန်ကြိုးစားပါစေအမှားတစ်ခုဖြစ်ပေါ်စေမည်မဟုတ်။
session_status () function ကိုအသုံးပြုခြင်းသည် session တွင်ရှိပြီးသားပြ problems နာများကိုရှောင်ရှားရန်ထိရောက်သောနည်းလမ်းဖြစ်သည်။ လက်ရှိ session ၏အခြေအနေကိုအကဲဖြတ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည် session_start () ကို ခေါ်ရန်မည်သို့ဆုံးဖြတ်နိုင်သည်။ ၎င်းသည် session ပ conflicts ိပက်ခများကိုရှောင်ရှားနိုင်ရုံသာမက Code ၏ကြံ့ခိုင်မှုကိုပိုမိုကောင်းမွန်စေသည်။ ဖွံ့ဖြိုးတိုးတက်မှုတွင်အထူးသဖြင့်တောင်းဆိုမှုများနှင့်ရှုပ်ထွေးသောစာမျက်နှာဖြစ်စဉ်များတွင်မှန်ကန်သောစည်းမျဉ်းစည်းကမ်းများကိုသေချာစေရန်အလွန်အရေးကြီးသည်။ session_status ကိုအသုံးပြုခြင်း () မလိုအပ်သောအမှားများကိုထိရောက်စွာရှောင်ရှားနိုင်သည်။