<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// ဤဆောင်းပါးသည်မည်သို့အသုံးပြုရမည်ကိုဆွေးနွေးပါမည် session_status() function ကိုစီရင်ချက် PHP အစည်းအဝေးအခြေအနေ,နှင့်ကွဲပြားခြားနားသောပြည်နယ်များအရသင့်လျော်သောအစီအမံယူပါ。</span></span><span>
</span><span><span class="hljs-comment">// အောက်ပါတို့သည်အဓိကအကြောင်းအရာဖြစ်သည်。</span></span><span>
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
တည်နေ PHP အလယ်ပိုင်း,Session Management သည် Dynamic Web application များတည်ဆောက်ခြင်း၏အရေးကြီးသောအပိုင်းဖြစ်သည်。`</span><span><span class="hljs-title function_ invoke__">session_status</span></span><span>()` လုပ်ဆောင်ချက်များသည် developer များကိုလက်ရှိ session ၏အခြေအနေကိုဆုံးဖြတ်ရန်နည်းလမ်းဖြင့်ပေးသည်,ဤသည်အမှန်တကယ်အခြေအနေများအပေါ်အခြေခံပြီး session ကိုစတင်ရန်ရှိမရှိဆုံးဖြတ်နိုင်ပါတယ်、ခြွင်းချက်ကိုင်တွယ်သို့မဟုတ်အခြားယုတ္တိအကိုင်းအခက်ယူပါ。ဤဆောင်းပါးသည်အတိမ်အနက်ကိုလေ့လာနိုင်သည် `</span><span><span class="hljs-title function_ invoke__">session_status</span></span><span>()` ရဲ့ PHP session ကိုပိတ်ထားရှိမရှိ,နှင့်အညီသင့်လျော်သောအစီအမံယူပါ。
</span><span><span class="hljs-comment">### တစ်、session_status() Value ကိုပြန်သွားပါ</span></span><span>
`</span><span><span class="hljs-title function_ invoke__">session_status</span></span><span>()` ဟုတ်ကဲ့ PHP ထောက်ပံ့ပေး -in ကိုလုပ်ဆောင်ချက်များကိုထောက်ပံ့ပေးခဲ့သည်,လက်ရှိ session module ၏ status ကိုပြန်ပို့ဖို့အသုံးပြုခဲ့သည်。၎င်းတွင်အောက်ပါသုံးပြန်လာတန်ဖိုးများရှိသည်(ကိုယ်စားပြုရန်ကိန်းဂဏန်းများကိုသုံးပါ):
</span><span><span class="hljs-number">1</span></span><span>. `PHP_SESSION_DISABLED`(တန်ဖိုး </span><span><span class="hljs-number">0</span></span><span>)
表示session functionတည်နေ PHP အလယ်ပိုင်း被禁用了,可能ဟုတ်ကဲ့通过 `php.ini` configuration ဖိုင်ချိန်ညှိချက်များ。
</span><span><span class="hljs-number">2</span></span><span>. `PHP_SESSION_NONE`(တန်ဖိုး </span><span><span class="hljs-number">1</span></span><span>)
session module ကိုရရှိနိုင်ပါသည်ကြောင်းဖော်ပြသည်,但当前没有会话正တည်နေ激活。
</span><span><span class="hljs-number">3</span></span><span>. `PHP_SESSION_ACTIVE`(တန်ဖိုး </span><span><span class="hljs-number">2</span></span><span>)
表示当前有တစ်个会话正တည်နေ进行အလယ်ပိုင်း。
</span><span><span class="hljs-comment">### နှစ်、判断session ကိုပိတ်ထားရှိမရှိ</span></span><span>
ငါတို့စီရင်ချင်ရင် PHP 会话ဟုတ်ကဲ့否**ပြီးသားပိတ်ထား**,应该主要关注ဟုတ်ကဲ့否为 `PHP_SESSION_NONE` သို့မဟုတ် `PHP_SESSION_DISABLED` အသေအချာပေြာဆို。
```php
</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_DISABLED) {
</span><span><span class="hljs-comment">// session function ကိုပိတ်ထားသည်</span></span><span>
</span><span><span class="hljs-keyword">die</span></span><span>(</span><span><span class="hljs-string">"လက်ရှိဆာဗာကိုပိတ်ထားသည် PHP session function,ဆက်မလုပ်နိုင်ပါ。"</span></span><span>);
} </span><span><span class="hljs-keyword">elseif</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 တစ်ခုစတင်နိုင်ပါတယ်</span></span><span>
</span><span><span class="hljs-title function_ invoke__">session_start</span></span><span>();
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အဆိုပါ session ကိုအောင်မြင်စွာစတင်ခဲ့သည်。"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-comment">// 会话已经处于活动အသေအချာပေြာဆို</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"会话已处于活动အသေအချာပေြာဆို。"</span></span><span>;
}
</span></span>
အထက်ပါကုဒ်သည်ပုံမှန် session ကိုစတင်ခြင်းလုပ်ငန်းစဉ်ကိုပြသသည်။ Session_Status ကို အကဲဖြတ်ခြင်းဖြင့် start-up လုပ်သည့်အမှားများကြောင့်ဖြစ်ပေါ်လာသောအမှားများကိုရှောင်ရှားရန် session_start () ကို ခေါ်ရန်မသင့်ကြောင်းလုံခြုံစွာဆုံးဖြတ်နိုင်သည်။
ရှုပ်ထွေးသော application တစ်ခုတွင်ပရိုဂရမ်တစ်ခု၏ module များစွာသည် session တစ်ခုလိုအပ်သည်။ အကယ်. session_start () ကိုတရားစီရင်ခြင်းမရှိဘဲခေါ်လျှင်၎င်းသည်အောက်ပါအမှားသို့ ဦး တည်သွားနိုင်သည်။
<span><span><span class="hljs-built_in">Warning</span></span><span>: session_start(): Cannot </span><span><span class="hljs-keyword">start</span></span><span> </span><span><span class="hljs-keyword">session</span></span><span> </span><span><span class="hljs-keyword">when</span></span><span> headers already sent
</span></span>
session_status ကိုအသုံးပြုခြင်း () သည်ထိုကဲ့သို့သောပြ problems နာများကိုရှောင်ရှားနိုင်ပြီး Session စီမံခန့်ခွဲမှုအားစိတ် 0 င်စားမှုကိုသေချာစေသည်။
ဥပမာအားဖြင့်အသုံးပြုသူ login vernification module သည်အောက်ပါယုတ္တိဗေဒလိုအပ်လိမ့်မည်။
<span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">ensureSessionStarted</span></span><span>(</span><span><span class="hljs-params"></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_DISABLED) {
</span><span><span class="hljs-keyword">throw</span></span><span> </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-built_in">Exception</span></span><span>(</span><span><span class="hljs-string">"服务器禁用了session function。"</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">// Login Verification ကိုခေါ်ပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">ensureSessionStarted</span></span><span>();
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-variable">$_SESSION</span></span><span>[</span><span><span class="hljs-string">'user'</span></span><span>])) {
</span><span><span class="hljs-title function_ invoke__">header</span></span><span>(</span><span><span class="hljs-string">"Location: login.php"</span></span><span>);
</span><span><span class="hljs-keyword">exit</span></span><span>();
}
</span></span>
ဤနည်းအားဖြင့်၎င်းသည် _Session လိုအပ်သည့် module အားလုံးတွင် Session State တွင်လုံလုံခြုံခြုံစီမံနိုင်ကြောင်းသေချာသည်။
Session_Status () သည် PHP ၏လက်ရှိ session status ကိုဆုံးဖြတ်ရန်ပေါ့ပါး။ ထိရောက်သောနည်းလမ်းကိုပေးသည်။ ၎င်းမှတစ်ဆင့် developer များကအစည်းအဝေးများစတင်ခြင်းကိုရှောင်ရှားနိုင်သည်သို့မဟုတ်အစည်းအဝေးများပိတ်ထားသည့်ပတ်ဝန်းကျင်တွင် $ _Session ကို သုံး. မမှန်ကန်ပါ။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် Session Management ကို function တစ်ခုသို့မဟုတ်အတန်း၏တစ်စိတ်တစ်ပိုင်းအနေဖြင့် Encapsuate, Centrally Session ပြည်နယ်တရားစီရင်ခြင်း,
<span></span>