PDA

View Full Version : درخواست counter



mostafa612003
سه شنبه 15 دی 1388, 07:35 صبح
با سلام

دنبال يک counter که از ajax استفاده کند هستم


متشکرم

narsic
سه شنبه 15 دی 1388, 09:48 صبح
با سلام
حالا چرا ایجکس ؟؟؟
اصلا شمارنده چه ربطی به ایجکس داره ؟

mostafa612003
سه شنبه 15 دی 1388, 14:54 عصر
براي اينکه سرعتش بيشتره

mostafa612003
شنبه 19 دی 1388, 07:54 صبح
counter به زبان php از کجا مي توانم پيدا کنم؟

cybercoder
شنبه 19 دی 1388, 22:05 عصر
حالا چی رو می خوای Count کنی؟!

mostafa612003
یک شنبه 26 دی 1389, 19:24 عصر
باسلام
می خواهم تعداد کسانی که از سایت دیدن می کنند را پیدا کنم
هم در روز هم در کل
متشکرم

mohsen6500
یک شنبه 26 دی 1389, 21:09 عصر
سلام اینجا هم دوستان عزیز دارند روی یه هم چین چیزی بحث میکنند
(http://barnamenevis.org/showthread.php?269921-%D8%B3%D8%A7%D8%AE%D8%AA-%D8%A8%D8%A7%DA%A9%D8%B3-%D8%AA%D8%B9%D8%AF%D8%A7%D8%AF-%D8%A8%D8%A7%D8%B2%D8%AF%DB%8C%D8%AF-%DA%A9%D9%86%D9%86%D8%AF%DA%AF%D8%A7%D9%86-%D8%B3%D8%A7%DB%8C%D8%AA)

برای نشان دادن افراد آنلاین هم من یه کلاس توی اینترنت پیدا کردم که خیلی جالبه
روش استفادش رو هم به صورت توضیحات نوشته
خیلی جالبه

<?php
/*
usersOnline.class.php
Author: Ilir Fekaj
Contact: tebrino@hotmail.com
Last updated: July 28, 2005
Version: 1.1
Latest version & info: http://www.sim-php.info
Support: http://forum.sim-php.info/ (if you find bugs or you need help with installation)
Demo: http://www.free-midi.org

This very simple class enables you to track number of visitors online in
an easy and accurate manner. It's free for all purposes, just please don't
claim you wrote it. If you have any problems, please feel free to contact me.
Also if you like this script please put link to http://www.sim-php.info. Thanks

Simply paste this code where you wish your users online count to appear:

include_once ("file:///C|/DOCUME~1/mohsen/LOCALS~1/Temp/Rar$DI00.828/usersOnline.class.php");
$visitors_online = new usersOnline();

if (count($visitors_online->error) == 0) {

if ($visitors_online->count_users() == 1) {
echo "There is " . $visitors_online->count_users() . " visitor online";
}
else {
echo "There are " . $visitors_online->count_users() . " visitors online";
}
}
else {
echo "<b>Users online class errors:</b><br /><ul>\r\n";
for ($i = 0; $i < count($visitors_online->error); $i ++ ) {
echo "<li>" . $visitors_online->error[$i] . "</li>\r\n";
}
echo "</ul>\r\n";

}


Important: You need to create database connection and select database before creating object! Example connection would look like this:

$host = "localhost"; // your MySQL host i.e. the server on which the database is, usually localhost
$user = ""; // your MySQL username
$pass = ""; // your MySQL password
$db = ""; // the database to which you're trying to connect to

$conn = mysql_connect("$host", "$user", "$pass") or die ("Unable to connect to database.");
mysql_select_db("$db", $conn);

--------------------------------------------
Table structure (paste this code in PHPMyAdmin or whatever program you use for db management):
CREATE TABLE `useronline` (
`id` int(10) NOT NULL auto_increment,
`ip` varchar(15) NOT NULL default '',
`timestamp` varchar(15) NOT NULL default '',
PRIMARY KEY (`id`),
UNIQUE KEY `id`(`id`)
) TYPE=MyISAM COMMENT='' AUTO_INCREMENT=1 ;

*/

class usersOnline {

var $timeout = 6000;
var $count = 0;
var $error;
var $i = 0;

function usersOnline () {
$this->timestamp = time();
$this->ip = $this->ipCheck();
$this->new_user();
$this->delete_user();
$this->count_users();
}

function ipCheck() {
/*
This function will try to find out if user is coming behind proxy server. Why is this important?
If you have high traffic web site, it might happen that you receive lot of traffic
from the same proxy server (like AOL). In that case, the script would count them all as 1 user.
This function tryes to get real IP address.
Note that getenv() function doesn't work when PHP is running as ISAPI module
*/
if (getenv('HTTP_CLIENT_IP')) {
$ip = getenv('HTTP_CLIENT_IP');
}
elseif (getenv('HTTP_X_FORWARDED_FOR')) {
$ip = getenv('HTTP_X_FORWARDED_FOR');
}
elseif (getenv('HTTP_X_FORWARDED')) {
$ip = getenv('HTTP_X_FORWARDED');
}
elseif (getenv('HTTP_FORWARDED_FOR')) {
$ip = getenv('HTTP_FORWARDED_FOR');
}
elseif (getenv('HTTP_FORWARDED')) {
$ip = getenv('HTTP_FORWARDED');
}
else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}

function new_user() {
$insert = mysql_query ("INSERT INTO useronline(timestamp, ip) VALUES ('$this->timestamp', '$this->ip')");
if (!$insert) {
$this->error[$this->i] = "Unable to record new visitor\r\n";
$this->i ++;
}
}

function delete_user() {
$delete = mysql_query ("DELETE FROM useronline WHERE timestamp < ($this->timestamp - $this->timeout)");
if (!$delete) {
$this->error[$this->i] = "Unable to delete visitors";
$this->i ++;
}
}

function count_users() {
if (count($this->error) == 0) {
$count = mysql_num_rows ( mysql_query("SELECT DISTINCT ip FROM useronline"));
return $count;
}
}

}

?>

موفق باشی

$ M 3 H R D A D $
دوشنبه 27 دی 1389, 16:08 عصر
شمارنده و بدون آجاکس و با آجاس میشه نوشت به نظرم
منتها شمارنده وقتی ارزش داره که یک صفحه باز بشه ( لود بشه ) حتیاگه بگیم موقع کلیک یک فایل آجاکس بشه بازم میشه اون کد شمارنده و توی لود شدن هر صفحه گذاشت که مثلا آیدی خبر و بگیره و توی بانک توی جدول شمارنده اون آیدی ++ کنه....