PHP စက်ရှင်များ
session တစ်ခုသည် စာမျက်နှာများစွာတွင် အသုံးပြုရန် အချက်အလက် (variables များတွင်) သိမ်းဆည်းရန် နည်းလမ်းတစ်ခုဖြစ်သည်။
ကွတ်ကီးတစ်ခုနှင့်မတူဘဲ၊ အချက်အလက်များကို အသုံးပြုသူများ ကွန်ပျူတာတွင် သိမ်းဆည်းထားခြင်းမရှိပါ။
PHP Session ဆိုတာ ဘာလဲ။
အက်ပလီကေးရှင်းတစ်ခုနှင့်အလုပ်လုပ်သောအခါတွင် သင်သည် ၎င်းကိုဖွင့်ပါ၊ အပြောင်းအလဲအချို့ပြုလုပ်ပြီးနောက် ၎င်းကိုပိတ်လိုက်ပါ။ ဒါက Session တစ်ခုလိုပါပဲ။ ကွန်ပျူတာက မင်းဘယ်သူလဲဆိုတာ သိတယ်။ သင်လျှောက်လွှာကိုစတင်သည့်အချိန်နှင့် သင်ပြီးဆုံးသည့်အခါတွင် ၎င်းသည်သိသည်။ သို့သော်အင်တာနက်ပေါ်တွင်ပြဿနာတစ်ခုရှိသည်- web server သည်သင်မည်သူဖြစ်သည်သို့မဟုတ်သင်ဘာလုပ်နေသည်ကိုမသိပါ၊ HTTP လိပ်စာသည်အခြေအနေမထိန်းထားသောကြောင့်ဖြစ်သည်။
Session variable များသည် စာမျက်နှာများစွာတွင် အသုံးပြုရန် အသုံးပြုသူအချက်အလက်ကို သိမ်းဆည်းခြင်းဖြင့် ဤပြဿနာကို ဖြေရှင်းပေးသည် (ဥပမာ- သုံးစွဲသူအမည်၊ အရောင်၊ စသည်)။ ပုံမှန်အားဖြင့်၊ အသုံးပြုသူသည် ဘရောက်ဆာကို ပိတ်သည်အထိ ဆက်ရှင်မပြောင်းလဲနိုင်ပါ။
ဒါကြောင့်; Session variable များသည် သုံးစွဲသူတစ်ဦးတည်း၏ အချက်အလက်ကို သိမ်းဆည်းထားပြီး အပလီကေးရှင်းတစ်ခုတွင် စာမျက်နှာအားလုံးတွင် ရရှိနိုင်သည်။
အကြံပြုချက်- အမြဲတမ်းသိုလှောင်မှုတစ်ခု လိုအပ်ပါက၊ ဒေတာဘေ့စ်တစ်ခုတွင် ဒေတာ သိမ်းဆည်းလိုပေမည် ။
PHP Session ကို စတင်ပါ။
လုပ်ဆောင်ချက် ဖြင့် စက်ရှင်တစ်ခုကို စတင်သည် session_start()
။
Session variable များကို PHP global variable ဖြင့် သတ်မှတ်သည်- $_SESSION။
ကဲ၊ "demo_session1.php" လို့ ခေါ်တဲ့ စာမျက်နှာအသစ်တစ်ခုကို ဖန်တီးလိုက်ကြရအောင်။ ဤစာမျက်နှာတွင်၊ ကျွန်ုပ်တို့သည် PHP session အသစ်တစ်ခုကို စတင်ပြီး အချို့သော session variable များကို သတ်မှတ်သည်-
ဥပမာ
<?php
// Start the session
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// Set session variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";
echo "Session variables are set.";
?>
</body>
</html>
မှတ်ချက်- လုပ်ဆောင်ချက်session_start()
သည် သင့်စာရွက်စာတမ်းရှိ ပထမဆုံးအရာဖြစ်ရမည်။ HTML tags တစ်ခုခုကို မှီပါ။
PHP Session Variable Values ကို ရယူပါ။
ထို့နောက် ကျွန်ုပ်တို့သည် "demo_session2.php" ဟုခေါ်သော အခြားစာမျက်နှာတစ်ခုကို ဖန်တီးသည်။ ဤစာမျက်နှာမှ၊ ကျွန်ုပ်တို့သည် ပထမစာမျက်နှာ ("demo_session1.php") တွင် သတ်မှတ်ထားသော စက်ရှင်အချက်အလက်ကို ဝင်ရောက်ကြည့်ရှုပါမည်။
စာမျက်နှာအသစ်တစ်ခုစီသို့ session variable များကို တစ်ဦးချင်းပေးပို့ခြင်းမပြုကြောင်း သတိပြုပါ၊ ၎င်းအစား ၎င်းတို့ကို စာမျက်နှာတစ်ခုစီ၏အစတွင်ဖွင့်ထားသော session ( session_start()
) မှ ပြန်လည်ထုတ်ယူခြင်းကို သတိပြုပါ။
စက်ရှင်ပြောင်းလဲနိုင်သောတန်ဖိုးများအားလုံးကို ကမ္ဘာလုံးဆိုင်ရာ $_SESSION variable တွင် သိမ်းဆည်းထားကြောင်းလည်း သတိပြုပါ။
ဥပမာ
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// Echo session variables that were set on previous page
echo "Favorite color is " . $_SESSION["favcolor"] . ".<br>";
echo "Favorite animal is " . $_SESSION["favanimal"] . ".";
?>
</body>
</html>
အသုံးပြုသူ session တစ်ခုအတွက် session variable values အားလုံးကိုပြသရန် နောက်တစ်နည်းမှာ အောက်ပါ code ကို run ရန်ဖြစ်သည် ။
ဥပမာ
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
print_r($_SESSION);
?>
</body>
</html>
ဤအရာဘယ်လိုအလုပ်လုပ်လဲ? ငါပဲဆိုတာ ဘယ်လိုသိလဲ။
စက်ရှင်အများစုသည် အသုံးပြုသူ၏ကွန်ပြူတာတွင် အသုံးပြုသူကီးကို သတ်မှတ်သည်- 765487cf34ert8dede5a562e4f3a7e12။ ထို့နောက် အခြားစာမျက်နှာတစ်ခုတွင် စက်ရှင်တစ်ခုကိုဖွင့်သောအခါ၊ ၎င်းသည် အသုံးပြုသူကီးအတွက် ကွန်ပျူတာကို စကင်န်ဖတ်သည်။ ကိုက်ညီမှုရှိလျှင် ၎င်းသည် ထိုစက်ရှင်ကို ဝင်ရောက်သည်၊ မဟုတ်ပါက၊ ၎င်းသည် စက်ရှင်အသစ်ကို စတင်သည်။
PHP Session Variable ကို မွမ်းမံပါ။
session variable ကိုပြောင်းရန်၊ ၎င်းကို overwrite လုပ်ရုံဖြင့်-
ဥပမာ
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// to change a session variable, just overwrite it
$_SESSION["favcolor"] = "yellow";
print_r($_SESSION);
?>
</body>
</html>
PHP Session ကို ဖျက်ပါ။
ကမ္ဘာလုံးဆိုင်ရာ session variable အားလုံးကို ဖယ်ရှားပြီး session ကို ဖျက်ရန်၊ session_unset()
အသုံးပြုပြီး session_destroy()
:
ဥပမာ
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<body>
<?php
// remove all session variables
session_unset();
// destroy the session
session_destroy();
?>
</body>
</html>