|
|
|
อยากได้โค้ดเกี่ยวกับ สมาชิกที่ออนไลน์ในระบบครับ แบบ session อ่ะครับผมไม่รู้ว่าจะเริ่มเขียนแบบไหน |
|
|
|
|
|
|
|
เก็บตัวแปรไว้ใน text file ก็ได้ครับ
เมื่อมีคน login เข้ามาเปิดเว็บก็ให้ใส่ข้อมูลเข้าไปใน ตัวแปร
$data = array( array('user'=>'u1','time'=>'time1'), array('user'=>'u2','time'=>'time2'), array('user'=>'u3','time'=>'time3') );
แล้ว ก็ loop เช็คว่า มี user ไหนที่ไม่ได้เปิดเว็บนานจาก key time แล้วก็ลบ key user นั้นออกครับ
สำหรับการแสดงผลก็ใช้ loop ธรรมดาๆ
|
|
|
|
|
Date :
2010-05-10 12:08:19 |
By :
num |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อิอิ งง อ่ะครับมีง่ายกว่านี้มั้ยครับ
|
|
|
|
|
Date :
2010-05-10 12:22:32 |
By :
keapkung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เขียนโค้ดง่ายๆ ให้พอเข้าใจนะครับ
<?php
session_start();
if (!empty($_SESSION['login'])){ //สมมุติว่าค่า login นี้ได้กำหนดหลังจาก login สำเร็จ (เพื่อให้โค้ดทำงานเฉพาะคนที่ login เข้ามา)
$data = unserialize(file_get_contents('user-login.txt'));
if (empty($data)){
$data = array();
}
//สมมุตว่าค่า session user ได้กำหนดหลังจาก login สำเร็จ
$data[$_SESSION['user']] = date('Y-m-d H:i:s');
//ลบชื่อ user ที่ไม่ได้เข้าเว็บไซท์เป็นเวลา 15 นาที
foreach($data as $user=>$time){
if (strtotime($time) + 60*15 < time()){
unset($data[$user]);
}
}
file_put_contents('user-login.txt',serialize($data));
}
?>
เวลาแสดงผลก็
<?php
$data = unserialize(file_get_contents('user-login.txt'));
foreach($data as $user=>$time){
echo $user,', ';
}
?>
|
|
|
|
|
Date :
2010-05-10 12:53:20 |
By :
num |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จะลองดูนะครับ ขอบคุณครับ
|
|
|
|
|
Date :
2010-05-10 13:11:09 |
By :
keapkung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|