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

Форум MySQL

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Вывод online пользователей ..
 
 автор: t3ma   (22.07.2007 в 08:44)   письмо автору
 
 

Таблица users:

CREATE TABLE `users` (
  `id` int(11) NOT NULL auto_increment,
  `login` varchar(20) NOT NULL default '',
  `password` varchar(32) NOT NULL default '',
  `realname` varchar(20) NOT NULL default '',
  `email` varchar(45) NOT NULL default '',
  `icq` varchar(45) NOT NULL default '',
  `icq2` varchar(45) NOT NULL default '',
  `url` varchar(45) NOT NULL default '',
  `tell` varchar(45) NOT NULL default '',
   PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251 AUTO_INCREMENT=3 ;


Как вывести на сайте пользователей online ?? помогите пожалуйста!

   
 
 автор: ddhvvn   (22.07.2007 в 10:22)   письмо автору
 
   для: t3ma   (22.07.2007 в 08:44)
 

Посмотрите пример

   
 
 автор: t3ma   (22.07.2007 в 11:37)   письмо автору
 
   для: ddhvvn   (22.07.2007 в 10:22)
 

Спасибо! посмотрел. но почему то после 20 минут сесия из таблицы неудаляется!

   
 
 автор: cheops   (22.07.2007 в 12:01)   письмо автору
 
   для: t3ma   (22.07.2007 в 11:37)
 

Обработайте ошибку для DELETE-запроса - ничего не выводится?
<?php
  $query 
"DELETE FROM session 

            WHERE putdate < NOW() -  INTERVAL '20' MINUTE"

  if(!
mysql_query($query)) exit("Ошибка - ".mysql_error());
?>

   
 
 автор: t3ma   (22.07.2007 в 12:09)   письмо автору
 
   для: cheops   (22.07.2007 в 12:01)
 

ничего не выводиться! и еще: хоть сколько человек зайдут, сессия новая несоздаеться в БД! (всего 1 сесия в таблице и только она обновляется)

   
 
 автор: parczynski   (22.07.2007 в 13:32)   письмо автору
 
   для: t3ma   (22.07.2007 в 08:44)
 

Я у себя на сайте делал так:
есть таблица:

CREATE TABLE online (
    id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    sis TINYTEXT, SESSID
    cid INT, номер пользователя в таблице users
    come DATETIME, кодга пришел
    last INT, время последнего просмотра сттраницы + время жизни сессии
    hide TINYINT) если 1 то на сайте скрытно

и вот такой вот php скриптик в каждом скрипте сайта:

<?php
if ($link=mysql_connect($dbhost$dblogin$dbpassword)) {
    
mysql_select_db($dbase);
    
$result=mysql_query("SELECT id FROM online WHERE sis = '".session_id()."'");
    if (
$row=mysql_fetch_array($result)) {
        if (isset(
$_SESSION['user'])) {$user=$_SESSION['user'];} else $user=0;
        
mysql_query("UPDATE online SET last = '".strtotime("+30 min")."', cid = '".$user."' WHERE id = '".$row['id']."'");
    } else {
        
$query="INSERT INTO online VALUES ('0', '".session_id()."', '0', '".date("Y-m-d H:i:s")."', '".strtotime("+30 min")."', '0')";
        if (!(
mysql_query($query))) exit ($query);
    }
    
mysql_query("DELETE FROM online WHERE last < '".strtotime("now")."'");
    
$result=mysql_query("SELECT id FROM online WHERE cid = '0'");
    
$guests=mysql_num_rows($result);
    
$result=mysql_query("SELECT cid FROM online WHERE cid != '0'");
    
$users=mysql_num_rows($result);
    
mysql_close($link);
}
?>

пояснения:
$_SESSION['user'] идентификатор пользователя из таблицы users после авторизации
остальное вроде понятно

   
 
 автор: t3ma   (22.07.2007 в 14:35)   письмо автору
 
   для: parczynski   (22.07.2007 в 13:32)
 

не совсем понятно.. объясните подробнее.. скажите ваще ICQ

   
 
 автор: parczynski   (22.07.2007 в 14:58)   письмо автору
 
   для: t3ma   (22.07.2007 в 14:35)
 

ICQ в личной инфе есть

   
 
 автор: t3ma   (22.07.2007 в 19:13)   письмо автору
 
   для: parczynski   (22.07.2007 в 13:32)
 

у меня этот скрипт неработает почему-то есть другие варианты ?

   
Rambler's Top100
вверх

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