Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Сколько человек на базе (без МиСюкла)

Сообщения:  [1-8] 

 
 автор: Sfinks   (12.07.2005 в 14:53)   письмо автору
 
   для: LINKIN   (11.07.2005 в 15:03)
 

>Давай теперь готовый на файлах.
Даже шевелиться после такого не охото =((

   
 
 автор: LINKIN   (12.07.2005 в 14:38)   письмо автору
 
   для: cheops   (11.07.2005 в 18:54)
 

:) если бы я в нем разбирался - я бы сам такую шнягу начеркал:).

   
 
 автор: cheops   (11.07.2005 в 18:54)   письмо автору
 
   для: LINKIN   (11.07.2005 в 15:03)
 

>Давай теперь готовый на файлах.
Хм... а вы сами не хотите принять участие в его разработке, тем более вы же неплохо в PHP разбираетесь... :)))

   
 
 автор: isset   (11.07.2005 в 18:40)   письмо автору
 
   для: Киналь   (11.07.2005 в 18:13)
 

Даа, наглеет народ......

   
 
 автор: Киналь   (11.07.2005 в 18:13)   письмо автору
 
   для: LINKIN   (11.07.2005 в 15:03)
 

>Давай теперь готовый на файлах.

=))))))

Я плакалъ... Парень, да ты крут!

ЗЫ Сорри за оффтоп, не удержался...

   
 
 автор: LINKIN   (11.07.2005 в 15:03)   письмо автору
 
   для: cheops   (11.07.2005 в 12:16)
 


1. База данных mysql
2. PHP4
Создадим таблицу www_online: 
CREATE TABLE www_online (
hid int(11) NOT NULL auto_increment,
sess_id char(255) NOT NULL default '',
last_time char(255) NOT NULL default '',
PRIMARY KEY (hid)
) TYPE=MyISAM;

В этой базе мы будем хранить соответственно:
Hid – ID, просто так?
Sess_id – ID сессии пользователя
Last_time – Время последней активности пользователя в секундах с начала эпохи (1970 г.).
Теперь код функции:

function show_online_user() {
global $database; //Импортируем массив с данными mysql
session_start(); //Начинаем сессию
session_set_cookie_params("0"); //Задаем время жизни куки
$id=session_id(); $time=time(); $past=time()-500; //Переменные(id - id сессии, time-текущее время, 
past-время, после которого надо удалять сессии).
$link=mysql_connect($database[dbserv], $database[dbuser], $database[dbpass]); //Коннектимся к базе данных
mysql_select_db($database[dbname]); //Выбираем базу данных
mysql_query("DELETE FROM www_online WHERE last_time < '$past'"); //Удаляем старые сессии
$result=mysql_query("SELECT last_time FROM www_online WHERE sess_id='$id'"); //Выбираем таблицу
$rows=mysql_num_rows($result); //Если в таблице есть sess_id с $id, то равно 1, иначе 0
if ($rows!="0") {
mysql_query("UPDATE www_online SET last_time='$time' WHERE sess_id='$id'");
} else {
mysql_query("INSERT INTO www_online (last_time, sess_id) VALUES ('$time', '$id')");
}
$result = mysql_query("SELECT * FROM www_online"); //Выбираем все сессии
$count = mysql_num_rows($result); //Считаем число сессий
return "Сейчас на сайте $count человек(а)"; //Возвращаем число юзеров
mysql_close($link); //Закрываем коннект с mysql
}

Давай теперь готовый на файлах.

   
 
 автор: cheops   (11.07.2005 в 12:16)   письмо автору
 
   для: LINKIN   (11.07.2005 в 05:31)
 

Точно так же как и вариант системы on-line с использованием базы данных, только хранить пользователей и время их последнего обращения в файле. К сожалению готового файлового варианта под рукой нет.

   
 
 автор: LINKIN   (11.07.2005 в 05:31)   письмо автору
 
 

Как написать скрипт, который бы выводил количество человек находящихся на сайте и без MySQL(вообще без БД)?
Кто-то имеет готовый?

   

Сообщения:  [1-8] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования