PDA

View Full Version : مبتدی: کار با session برای کابران آنلاین



alimooghashang
جمعه 27 فروردین 1389, 17:10 عصر
با سلام
آیا میشه با session فهمید چند کاربر در سایت آنلاین هستند؟
چگونه؟
و اینکه متغیر session بین تمامی کسانی که الان رو سایت هستند مشترک هست یا نه؟ یا هر کابری یه session خاص برای خودش داره؟

funpatogh
جمعه 27 فروردین 1389, 22:46 عصر
بله میشه
هر کاربر یک سشن مخصوص خودش داره و با اومدن توی سایت اون سشن ایجاد میشه و توی فولدر temp سرور ذخیره میشه
شما میتونی هر ماربر که میاد session_id اون رو بگیری توی دیتابیس ذخیره کنی و بعد تعداد سشن ها رو بشماری تا بفهمی چند تا آنلاین داری
بعد یک کوئری هم باید بزنی که سشن هایی که عمرشون بیشتر از مثلا 5 دقیقه هست رو پاک کنی

Reza1607
شنبه 28 فروردین 1389, 12:25 عصر
با استفاده از کد زیر می تونید تمام سشن ها رو چک کنید

foreach($_SESSION as $key=>$value)
تنها کاری که باید بکنی اینه که سشن ها رو چک کن و به یک متغییر هر دفعه یه واحد اضافه کن

saeid99
دوشنبه 30 فروردین 1389, 11:44 صبح
اینجا (http://www.phpeasystep.com/phptu/9.html)یه نمونه هستش..

rezahastam
پنج شنبه 23 اردیبهشت 1389, 16:30 عصر
اینو تو رایت کلیک دیدم:

دیتابیس:
CREATE TABLE online(
session char(100) NOT NULL,
time int(11) NOT NULL,
UNIQUE(session),
)

کد:
<html dir=rtl>
<body style="font-family:tahoma;font-size:8pt">
<?
session_start();
$session=session_id();
$time=time();
$time_c=$time-600;
$tbl_name="online";
mysql_connect("localhost","root","") or die("?? ?? ??");
mysql_select_db("new");

$q="INSERT INTO $tbl_name(session,time) VALUES('$session','$time')";
mysql_query($q);

$q1=mysql_query("SELECT * FROM $tbl_name");
$num=mysql_num_rows($q1);
echo " ??? :$num ";

mysql_query("DELETE FROM $tbl_name WHERE time<$time_c");

?>

rapidpich
جمعه 24 اردیبهشت 1389, 10:11 صبح
با استفاده از کد زیر می تونید تمام سشن ها رو چک کنید

foreach($_SESSION as $key=>$value)تنها کاری که باید بکنی اینه که سشن ها رو چک کن و به یک متغییر هر دفعه یه واحد اضافه کن


خیر این اشتباهه

rapidpich
جمعه 24 اردیبهشت 1389, 10:12 صبح
بله میشه
هر کاربر یک سشن مخصوص خودش داره و با اومدن توی سایت اون سشن ایجاد میشه و توی فولدر temp سرور ذخیره میشه
شما میتونی هر ماربر که میاد session_id اون رو بگیری توی دیتابیس ذخیره کنی و بعد تعداد سشن ها رو بشماری تا بفهمی چند تا آنلاین داری
بعد یک کوئری هم باید بزنی که سشن هایی که عمرشون بیشتر از مثلا 5 دقیقه هست رو پاک کنی


اینکار هم اشتباهه. اگه رو یک سرور 2 سایت یا بیشتر باشه شما داری مجموع سشن هارو میشمری