Наверно все видели такую фишку - (например)"На сайте: 17 человек". Я же даю вам такой скрипт!!!
Пишем:
1. Открываем любой редактор...
2. Находим место
3.Вставляем в нужное место (над строкой где будет написано "Человек на сайте:") код -
PHP код:
function online () {
$ip=getenv("HTTP_X_FORWARDED_FOR");
if (empty($ip) || $ip=='unknown') { $ip=getenv("REMOTE_ADDR"); }
# уд. старые сессии
mysql_query ("DELETE FROM online WHERE UNIX_TIMESTAMP() - UNIX_TIMESTAMP(time) > 300") or die ("Can't delete old sess");
# проверка на присутстаие или занесение нового пользователя
$select = mysql_query ("SELECT ip FROM online WHERE ip='$ip'") or die ("Can't select duble");
$tmp = mysql_fetch_row ($select);
if ($ip == $tmp[0]) {
mysql_query ("UPDATE online SET time=NOW() WHERE ip='$ip'") or die ("Can't update");
} else {
mysql_query ("INSERT INTO online (ip,time) VALUES ('$ip',NOW())") or die ("Can't insert");
}
# считывание результатов
$select = mysql_query ("SELECT COUNT(*) FROM online") or die ("Can't select result");
$tmp = mysql_fetch_row ($select);
$result = $tmp[0];
return $result;
}
4.Пишем строку - "Человек на сайте"
PHP код:
echo "<p>Человек на сайте: ".online ()."</p>";
и подключаем функцию
!
5.Идем в базу данных и создаем запрос -
PHP код:
CREATE TABLE online (
id INT(6) AUTO_INCREMENT UNIQUE NOT NULL,
ip CHAR(15),
time DATETIME NOT NULL,
INDEX (ip)
);
Вот впринципе и все!!! Приятно было провести с вами время)) Если чтото не понятно пишите ответ!
А кстати забыл написать - время пробывания человека на сайте 300 секунд с момента перехода на какую нибуть страницу сайта пишетса в этой строчке
PHP код:
mysql_query ("DELETE FROM online WHERE UNIX_TIMESTAMP() - UNIX_TIMESTAMP(time) > 300") or die ("Can't delete old sess");
Редактируетса время в этой строке
PHP код:
UNIX_TIMESTAMP(time) > 300")
Если хотите уменьшыть время отщитывания на понравившееся вам измените число 300 на ваше!!!