รบกวนช่วยอธิบายที่ผมนำมาให้ดูหน่อยนะครับ รบกวนช่วยอธิบายที่ผมนำมาให้ดูหน่อยนะครับ
เกิดจากมีการส่ง Session หรือ Cookie ไปหลังเมื่อมีการส่ง Header ไปแล้วครับ
ซึ่งปกติแล้ว Session หรือ Cookie จะต้องมีการส่งไปยัง Client ในส่วนบน ของ Header
แต่เราสามารถจองเนื้อที่หน่วยความจำเพื่อมารองรับการส่งค่านี้ไปทีหลังโดยใช้คำสั่ง
<?ob_start();?> ซึ่งจะต้องประกาศใว้บนสุดของโปรแกรมครับ
Date :
22 ก.พ. 2548 10:12:09
By :
@W_IN
คือเป็นโค๊ตแบบนี้จะแทรก <?ob_start();?> ตรงไหนครับ
<?
session_start();
$session=session_id();
$time=time();
$time_check=$time-600; //กำหนดเวลาในที่นี้ผมกำหนด 10 นาที
$hostname = "localhost";
$user = "xxxxxxxx";
$password = "xxxxxx";
$dbname = "xxxxxxx"; //กำหนด Database
$tblname = "user_online"; //กำหนดตารางที่เก็บข้อมูล
mysql_connect($hostname, $user, $password) or die("ติดต่อฐานข้อมูลไม่ได้");
mysql_select_db($dbname) or die("เลือกฐานข้อมูลไม่ได้");
$session_db = mysql_query("select count(*) from $tblname where session='$session'");
$session_check = mysql_result($session_db,0);
if ($session_check == "0") {
mysql_query("insert into $tblname values ('$session',$time)");
} else {
mysql_query("update $tblname set time='$time' where session='$session'");
}
$count_user = mysql_query("select count(*) from $tblname");
$user_online = mysql_result($count_user,0);
echo "กำลังใช้งานอยู่ : $user_online คน"; //ทดสอบการแสดงผล ถ้านำไปใช้ให้ปิด หรือลบบรรทัดนี้ออกไป
mysql_query("delete from $tblname where time<$time_check");
mysql_close();
?> [
Date :
22 ก.พ. 2548 14:27:40
By :
prasertvoed
<?ob_start();?>
<?
session_start();
$session=session_id();
$time=time();
$time_check=$time-600; //กำหนดเวลาในที่นี้ผมกำหนด 10 นาที
$hostname = "localhost";
$user = "xxxxxxxx";
$password = "xxxxxx";
$dbname = "xxxxxxx"; //กำหนด Database
$tblname = "user_online"; //กำหนดตารางที่เก็บข้อมูล
mysql_connect($hostname, $user, $password) or die("ติดต่อฐานข้อมูลไม่ได้");
mysql_select_db($dbname) or die("เลือกฐานข้อมูลไม่ได้");
$session_db = mysql_query("select count(*) from $tblname where session='$session'");
$session_check = mysql_result($session_db,0);
if ($session_check == "0") {
mysql_query("insert into $tblname values ('$session',$time)");
} else {
mysql_query("update $tblname set time='$time' where session='$session'");
}
$count_user = mysql_query("select count(*) from $tblname");
$user_online = mysql_result($count_user,0);
echo "กำลังใช้งานอยู่ : $user_online คน"; //ทดสอบการแสดงผล ถ้านำไปใช้ให้ปิด หรือลบบรรทัดนี้ออกไป
mysql_query("delete from $tblname where time<$time_check");
mysql_close();
?>
Date :
22 ก.พ. 2548 15:22:17
By :
@W_IN
แค่นี้เองหรือครับ....เดี๋ยวลองดูนะครับ
Date :
22 ก.พ. 2548 19:05:49
By :
prasertvoed
เอ่อ..ลืมไป ขอบคุณมาก ๆ ครับ
Date :
22 ก.พ. 2548 19:06:18
By :
prasertvoed
เอ่อยังเหมือนเดิมครับ....ลองเข้าไปดูหน่อยนะครับ http://tamsabye.com
ขอบคุณล่วงหน้าครับ
Date :
23 ก.พ. 2548 18:14:18
By :
prasertvoed
Load balance : Server 01