یک جدول لازم داری
که فیلدهای زیر رو داشته باشه (بسته به نیاز ، میتونی کم یا زیادترشون بکنی:
(این واقعا ساده ترین نوعش بود)
اونوقت توی صفحه مورد نظر یه همچین کدی میذاری:
PHP:
$query=mysql_query("select `pageview` from `amarTable` where `page`='$page'");
if($row=mysql_fetch_row($query)){
$pageview=$row[0]+1;
$query=mysql_query("update `amarTable` set `pageview`='$pageview' where `page`='$page'");
}else{
$query=mysql_query("insert into `amarTable` set `pageview`='1' , `page`='$page'");
}
فیلد page ، حاوی یک مقدار هست که نشون دهنده ی صفحه ی جاری هست. مثلا میتونی اگه توی صفحه ی اصلی هستی ، براش مقدار INDEX رو در نظر بگیری ، و یا اگر توی صفحه ی "درباره ی ما" هستی میتونی براش مقدار "ABOUT US" رو در نظر بگیری.
میتونی هم یک مقدار "ALL" رو داشته باشی و توی همه ی صفحه ها هم براش این کد رو صدا بزنی که بتونی آمار بازدید از کل سایت رو هم داشته باشی (نه فقط یک صفحه ی خاص).
در کل میتونی به یک تابع هم تبدیلش کنی که راحتتر باشی
اگر امکانات بیشتری خواستی خودت میتونی فیلدهای بیشتری به جدول اضافه کنی.
در کل به امکاناتی که خودت میخوای بستگی داره...
---------------------------------------------------------
برای این که تعداد افراد آنلاین رو بدونی یه همچین کاری میتونی بکنی:
یک table بساز که یه همچین فیلدهایی داشته باشه:
نوع time رو هم timestamp بذار.
(این هم یک نوع ساده بود!)
بعد توی هر صفحه یه همچین کدی رو بذار:
PHP:
$ip=$_SERVER['REMOTE_ADDR'];
$query=mysql_query("insert into `amarTable2` set `ip`='$ip'");
بعد برای اینکه ببینی مثلا توی این 5 دقیقه ی اخیر چند نفر روی سایت بودن ، یه همچین کدی رو نیاز داری:
PHP:
$time=time()-(5*60);
$theTime=date("Y-m-d H:i:s");
$query=mysql_query("select `ip` from `amarTable2` where `time`>'$theTime' group by `ip`");
$tedad=mysql_num_rows($query);
echo $tedad; //تعداد افراد آنلاین
در کل ، راههای دیگه ای هم برای این جور کارا هست
من یکی از راه های ساده ش رو نشونت دادم
دیگه خودتی و کدهای خودت
ببین چی نیاز داری ، همونجوری که میخوای بساز.
پ.ن: کدهای آماده ای هم برای این کارها هستن ولی پیشنهاد میکنم خودت بنویسی!
موفق باشید.