PHP User online tutorial
Last Updated on Sunday, 28 December 2008 17:30 Written by Zack Sunday, 28 December 2008 17:17
ဒီ POST ကေတာ့ ကိုယ္ရဲ႔ website မွာ register လုပ္ထားတဲ့ users ေတြ ဘယ္ႏွေယာက္ online
ျဖစ္ေနတယ္ ဆိုတာ သိခ်င္တယ္ဆိုရင္ ဘယ္လို လုပ္တယ္ဆိုတာကို ေရးထားတာ ျဖစ္ပါတယ္။
ဒီေနရာမွာ ဇက္လိုက္ကေတာ့ PHP Session ပဲျဖစ္ပါတယ္။ Session ကိုသုံးျပီး users ဘယ္ႏွေယာက္
online ျဖစ္ေနတယ္ ဆိုတာ သိႏိုင္ပါတယ္။
Database Side ကေနလိုတာကေတာ့ user_online ဆိုတဲ့ Table တစ္ခုပါပဲ။
ဒီ Table က user ရဲ႔ session နဲ႔ session's time out ကို store လုပ္ဖို႔ ျဖစ္ပါတယ္။ ေအာက္ကပုံကေတာ့ user_online table ျဖစ္ပါတယ္။
ဒါကေတာ့ sql script ပါ။
CREATE TABLE `user_online` (
`session` char(100) NOT NULL default '',
`time` int(11) NOT NULL default '0'
) TYPE=MyISAM;
user_online.php ဆိုတဲ့ PHP file ကိုဆက္သြားပါမယ္။ PHP ရဲ႔ Session ကိုေတာ့ Details နာလည္ထားဖို႔ လိုပါတယ္။
ဒီ POST မွာ ျပန္ဖတ္လို႔ ရပါတယ္။
logic ကေတာ့ user ရဲ႔ session value ကို user_online ဆိုတဲ့ table ထဲမွာ check လုပ္ပါတယ္။ database က return ျပန္လာတဲ့
record count ကို check ပါတယ္။ ဒီလို check ဖို႔ mysql_num_rows ဆိုတဲ့ function ကိုသုံးလ႔ိုရပါတယ္။ တကယ္လို႔ "0" return
ျပန္တယ္ဆိုရင္ေတာ့ ဒီ user အတြတ္ session value မရွိေသးပါဘူး။ အလိုဆိုရင္ user_online ဆိုတဲ့ table ထဲကို record
တစ္ေၾကာင္း insert ခ်ပါမယ္။ ရွိျပီသား ဆိုရင္ေတာ့ session time out ရဲ႔ value တစ္ခုထည္း ကိုပဲ update ခ်ပါမယ္။
user ရဲ႔ session value ေတြ store လုပ္တဲ့ user_online ဆိုတဲ့ table ကို select query လုပ္လိုက္ရင္ users ဘယ္ႏွေယာက္
online ျဖစ္ေနတယ္ ဆိုတာ သိႏိုင္ပါျပီ။ အားလုံးျပီးရင္ session time out ျဖစ္ေနတဲ့ record ေတြကို Delete လုပ္ျပစ္ ရပါမယ္။
ဒါကေတာ့ user_online.php ရဲ႔ code ပါ။
<?
session_start();
$session=session_id();
$time=time();
$time_check=$time-600; //SET TIME 10 Minute
$host="localhost"; // Host name
$username=""; // Mysql username
$password=""; // Mysql password
$db_name="test"; // Database name
$tbl_name="user_online"; // Table name
// Connect to server and select databse
mysql_connect("$host", "$username", "$password")or die("cannot connect to server");
mysql_select_db("$db_name")or die("cannot select DB");
$sql="SELECT * FROM $tbl_name WHERE session='$session'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count=="0"){
$sql1="INSERT INTO $tbl_name(session, time)VALUES('$session', '$time')";
$result1=mysql_query($sql1);
}
else {
"$sql2=UPDATE $tbl_name SET time='$time' WHERE session = '$session'";
$result2=mysql_query($sql2);
}
$sql3="SELECT * FROM $tbl_name";
$result3=mysql_query($sql3);
$count_user_online=mysql_num_rows($result3);
echo "User online : $count_user_online ";
// if over 10 minute, delete session
$sql4="DELETE FROM $tbl_name WHERE time<$time_check";
$result4=mysql_query($sql4);
mysql_close();
// Open multiple browser page for result
?>
Ref : http://www.phpeasystep.com/phptu/9.html
တျခား PHP Post ေတြအားလုံး ကို ႏွစ္သက္ရာ ေရြးဖတ္ ခ်င္တယ္ဆိုရင္ ဒီ Link ေလးကို Click လိုက္ပါ။
-
2009-04-02 17:06:43 |SAdministrator| admin - Re: Sql
Please read at here
-
2009-10-05 17:24:32 |203.81.166.xxx| royallyre7
ကုိဇက္ေ၇ ဒူတယ္လုိ႔ေ ၿပာခ်င္ေၿပ ာဗ်ာ
ဒီပို႔ကို run လုိက္တာ
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\xampp\htdocs\user_online.php:12) in C:\xampp\htdocs\user_online.php on line 13Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\user_online.php:12) in C:\xampp\htdocs\user_online.php on line 13
Onlne is
အဲဒါအေၿဖလ) 40;းဗ်ာ ကၽြန္ေတာ္အ ထင္ error ၿပေနတယ္ထင္ လုိ႔ ဒါေပမဲ႔ အေၿဖလဲၿပေန တယ္ဗ်ာ ဘာေႀကာင္႔လ ဲ ရွင္းၿပပါလ ားဗ်ာ
-
2009-10-06 15:35:12 |SAdministrator| admin - Re: royallyre7
ကြၽန္ေတာ္) 02;ီမွာေတာ့ Ok တယ္ဗ်ာ။ ကြၽန္ေတာ္ထ င္တာကေတာ့ Session Problem ျဖစ္ေနတာ။ coding or session problem လားဆိုတာကိ ု သိရေအာင္ အကို file ကို share လိုက္ပါ။
-
2009-10-07 05:18:49 |203.81.166.xxx| royallyre7
ကုိဇက္ေ၇ လင္႔ေလးေပး လုိက္မယ္ေန ာ္ ကၽြန္ေတာ္က ုဒ္ကမွာေနတ ာပဲၿဖစ္မွာ ပါကူညီတာေက ်းဇူးပါ။ကိ ုဇက္ကကၽြန္ ေတာ္၇ဲ႔သင္ ဆ၇ာပါ။ခုေတ ာ႔ဖုိ၇မ္ကိ ုစမ္းေနတယ္ ကိုဇက္ reply လာမွ session ကိုၿပန္စမ္ းေတာ႔မယ္ဗ် ာ ေစာင္႔ေမွ် ာ္လွ်က္ပါ။ အားတဲ႔အခ်ိ န္မွပဲလုပ္ ပါကိုဇက္ ကိုဇက္၇ဲ႔တ န္းဖုိးရွိ တဲ႔အခ်ိန္ေ တြအကို ယူ၇မွာ နွေမ်ာလုိ႔ ပါ ကၽြန္ေတာ္စ ြမ္းသေလာက္ ႀကိဳးစားႀက ည္႔ပါဦမယ္
http://www.mediafire.com/file/ydtoigcqamm/azt_user_onlinel.rar
-
2009-10-07 15:46:11 |SAdministrator| admin - Re: royallyre7
http://www.mediafire.com/?sharekey=59ece891f064eb607432d3c9683f450a e04e75f6e8ebb871
ကြၽန္ေတာ္ နဲနဲေလး ျပင္ထားတယ္ ။ တစ္ခုရွိတာ က PHP မွာ session ကို သုံးခ်င္တယ ္ ဆိုရင္ session_start() ကိုဟိုးအေပ ၚဆုံးမွာ ေရးရတယ္။ Rule ရယ္လို႔လည္ း မဟုတ္ပါဘူး ။ တစ္ခါတစ္ေလ ေတာ့လည္း မေရးပဲ ရေနတာေတြလည ္း ရွိပါတယ္။ ခုကြၽန္ေတာ ္ ျပင္ထားတဲ့ file ကို down ျပီး Compare It ဆိုတဲ့ file compare လုပ္တဲ့ software သုံးျပီး ျပန္တိုက္ၾ ကည့္ပါ။ Google မွာ ရွာျပီး down လို႕ရပါတယ္ ။ Free ပါ။>>>ကိုဇက္ကကၽ& #4156;န္ေတာ္၇ဲ႔& #4126;င္ဆ၇ာပါ။
အလိုလဲ မဟုတ္ပါဘူး ဗ်ာ။ ကြၽန္ေတာ္ တတ္ႏိုင္သေ လာက္ကို သိခ်င္ေနတဲ ့သူေတြ အတြတ္ ရသေလာက္ အခ်ိန္ေလးမ ွာ ကူညီေပးေနတ ာပါ။
အလိုမ်ိဳး ကူညီတာ အကိုတို႔ အတြတ္ အတိုင္းအတာ တစ္ခုထိ အက်ိဳးရွိမ ယ္ဆိုရင္ ကြၽန္ေတာ္ ပင္ပန္းရက် ိဳးနပ္ ပါတယ္။ အဆင္ေျပရင္ comment ေလးေတြသာ ထားခဲ့ပါ။ သူမ်ား အက်ိဳးရွိသ ြားတာေလးကိ ု ၾကည့္ျပီး Pleasure ျဖစ္ခ်င္လိ ု႕ပါ။
-
hote kae bro yae... ae dar lay ko run p par pi .. but index.php mhar register ma lote ya thae lal online user bae lout shi lal so tar myin chin par tal.. bar function nae pyan khaw use yin ya lal thi bu pyaw pya par ohn.!
-
2010-12-24 16:08:44 |SAdministrator| admin - RE:
ဗမာလို ျဖစ္ျဖစ္ eng လိုျဖစ္ျဖစ္ ႐ိုက္ေပးပါလား ခင္ဗ်ာ။ နားလဲမႈလြဲမွာစိုးလို႕ပါ
-
2010-12-27 13:50:07 |203.81.166.xxx| mya thwin
ဟုတ္ကဲ့ပါ ကိုzackေရ.. ကိုzack ေျပာတဲ့အတုိင္း Run ၿပီးပါၿပီ။ ဒါေပမယ့္ index.php မွာ register မလုပ္ရေသးတဲ့ guest user ေတြကလည္း member or online user ဘယ္ေလာက္ရွိတယ္ဆုိတာပါ ျမင္ခ်င္ပါတယ္။ အဲ့ဒါ စမ္းၿပီးလုပ္ၾကည့္တာ errors ေလးတက္ေနပါတယ္။ ကိုzack ေျပာတဲ့ အတုိင္း user_online.php ကိုသပ္သပ္ေရးထားပါတယ္။ index.php မွာျပန္ေခၚသုံးခ်င္တာ header or include တစ္ခုခုနဲ့ ျပန္ေခၚသုံးတာမရဘူးျဖစ္ေနလုိ့ပါ။ အဲ့ဒါ ေလးကိုသိခ်င္လုိ ့ပါ။
-
2010-12-27 22:48:05 |SAdministrator| admin - Re:
ေခၚတဲ့ အခါ path ေရာမွန္ရဲ႕လား?
error ကေရာ ဘာတဲ့လဲ ?
| < 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)
php နဲ႔ mysql databade ခ်ိတ္ဆက္ပံ ုေလးသိခ်င္ ပါတယ္။
sql script ေတြကဘယ္မွာ ေရးရမွာလဲ
I am a biginner.