PHP Sessions
Last Updated on Saturday, 22 November 2008 06:08 Written by Zack Saturday, 22 November 2008 05:57
PHP မွာ Sessions Variable ကို ကိုယ့္ရဲ ့web application ထဲကို လာလည္တဲ့ User ရဲ ့Information ေတြကို Hold လုပ္ဖို ့သံုးပါတယ္။
Session ဆိုတာကို ျမင္ေအာင္ ေျပာမယ္ဆိုရင္ေတာ့ဗ်ာ။ ကိုယ့္ရဲ ့Computer မွာ Office application တစ္ခုျဖစ္တဲ့ ms word
ကို ဖြင့္လိုက္တယ္။ ျပီးေတာ့ လုပ္စရာရွိတာလုပ္တယ္။ အားလံုးျပီးသြားေတာ့ ကိုယ္သံုးခဲ့တဲ့ application ကို ျပန္ပိတ္လိုက္တယ္ဆိုပါစို ့။
အဲ့ဒါဟာ session ရဲ ့သေဘာထားတစ္ခုပဲ ျဖစ္ပါတယ္။ Computer ကေတာ့ သင္ဘယ္သူလဲ။ ဘယ္အခ်ိန္မွာ စတယ္၊ ဘယ္အခ်ိန္မွာ
ျပီးတယ္ဆိုတာေတြကို သိႏိုင္ပါတယ္။ ဒါေပမယ့္ Internet ေပၚမွာ ဒီ Information ေတြကို သိႏိုင္ဖို ့ရာကေတာ့ ျပႆနာ တစ္ခုပါပဲ။
ဘာျဖစ္လို ့လဲဆိုေတာ့ HTTP address ကေနျပီး web server ကို Information pass လုပ္တဲ့ေနရာမွာ အဲ့ဒီဟာေတြ မပါလို ့ျဖစ္ပါတယ္။
ျပႆနာတိုင္းဟာ အေျဖရွိလို ့ျဖစ္လာတယ္လို ့ပဲ ေျပာရမလားဘဲ။ PHP sessions က ဒီျပႆနာကို ေျဖရွင္းႏိုင္လုိက္ပါျပီ။
သေဘာကေတာ့ဗ်ာ။ PHP sessions မွာ ကုိယ္ဆီကို ၀င္လာတဲ့ user information ေတြကို store လုပ္ခြင့္ေပးထားပါတယ္။
ဒါေပမယ့္ user က web site ထဲကေနျပီး ထြက္သြားျပီဆိုရင္ေတာ့ ဒီ session ေတြအားလံုးကို Delete လုပ္သြားမွာ ျဖစ္ပါတယ္။
တကယ္လုိ ့ကိုယ္က permanent သိမ္းထားခ်င္ရင္ေတာ့ database ထဲမွာ store လုပ္ႏိုင္ပါတယ္။
Temporary session မွာ ကေတာ့ user တိုင္းအတြက္ auto-generate
ျဖစ္တဲ့ id တစ္ခုေပၚမွာ base လုပ္ျပီး variable
ေတြကို store လုပ္ပါတယ္။
Starting PHP Session
User Information ေတြကို store မလုပ္ခင္မွာ session_start ဆိုတဲ့ function ကို သံုးျပီး session ကို start လုပ္ေပးရပါမယ္။
ဒီ Function ကုိ html tag ေတြ မေရးခင္ေရးရပါမယ္။
<?php session_start(); ?>
<html>
<body>
</body>
</html>
Storing a Session variable
session ေတြကို store (သို႔) retrieve လုပ္ခ်င္တယ္ဆိုရင္ေတာ့ $_SESSION ဆိုတဲ့ variable ကိုသုံးပါတယ္။
<?php
session_start();
// store session data
$_SESSION['views']=1;
?>
<html>
<body>
<?php
//retrieve session data
echo "Pageviews=". $_SESSION['views'];
?>
</body>
</html>
Output ကေတာ့ Pageviews=1
ဒီေအာက္က sample ေလးကေတာ့ PHP Session ကိုသုံးျပီးေတာ့ Page View Counter လုပ္သြားတာျဖစ္ပါတယ္။ ဒီ code ထဲမွာ
isset() ဆိုတဲ့ function ကိုေတြ႔ ရပါလိမ့္မယ္။ ဒါကေတာ့ ကိုယ့္ရဲ႔ variable ထဲမွာ assign လုပ္ျပီး သား value ရွိမရွိစစ္တာ ျဖစ္ပါတယ္။
ဒီ sample ေလးရဲ႕ logic ကေတာ့ "view" ဆိုတဲ့ variable ကိုစစ္တယ္။ ရွိျပီးသားဆိုရင္ increment လုပ္ျပီး၊ မရွိေသးဘူး ဆိုရင္ 1
ကိုထည့္ပါတယ္။
<?php
session_start();
if(isset($_SESSION['views']))
$_SESSION['views']=$_SESSION['views']+1;
else
$_SESSION['views']=1;
echo "Views=". $_SESSION['views'];
?>
Destroing a Session
သင့္ရဲ႕ session data ေတြကို Delete လုပ္ခ်င္တယ္ ဆိုရင္ေတာ့ unset() ဒါမွ မဟုတ္ session_destroy() ကိုသုံးပါတယ္။
unset() ရဲ႕ သေဘာကေတာ့ ကိုယ္သတ္မွတ္ထားတဲ့ session ကို clean လုပ္လိုက္တဲ့ သေဘာျဖစ္ပါတယ္။
<?php
unset($_SESSION['views']);
?>
session_destroy() ရဲ႕ သေဘာကေတာ့ ကိုယ့္ရဲ႕ session value ေတြကို reset လုပ္လိုက္တာျဖစ္ပါတယ္။ ဒီ function ကို
သုံးမယ္ဆိုရင္ Temporary store လုပ္ထားခဲ့ တဲ့ data ေတြကို Delete လုပ္လိုက္တာနဲ႔ အတူတူပဲ ျဖစ္ပါတယ္။
<?php
session_destroy();
?>
ဒါကေတာ့ PHP Session အေၾကာင္းပဲျဖစ္ပါတယ္။ Cookies အေၾကာင္းကိုေတာ့ ေနာက္ POST တခုေရးေပးပါမယ္။
တျခား PHP Post ေတြအားလုံး ကို ႏွစ္သက္ရာ ေရြးဖတ္ ခ်င္တယ္ဆိုရင္ ဒီ Link ေလးကို Click လိုက္ပါ။
| < Prev | Next > |
|---|
Login Form
Latest Post
Categories Table View
- Reader's Conner (133)
- PHP (48)
- Joomla CMS (46)
- Codeigniter (18)
- jQuery (12)
- iDhamma (11)
- Mobile Development (10)
- PHP & AJAX (4)
- Apache (3)
- For Mac (3)
- mySQL (2)
- DhammaDroid (1)
captcha
]]>1