Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Счетчик Online Пользователей

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Help
Mr.KreDo
Отправлено: 12 Апреля, 2011 - 22:45:07
Post Id



Гость


Покинул форум
Сообщений всего: 65
Дата рег-ции: Апр. 2011  
Откуда: Старый Оскол, Россия


Помог: 0 раз(а)




Всем Добрый Вечер.

Есть скрипт который показывает ( Сколько человек в данный момент на сайте )

Решил сделать ( когда 1 человек на сайте что бы так и писал, а когда 2 человека что бы писал именно 2 человека, и т.д )

Есть ли другие способы, реализовать это ?
Этот способ мне кажется не надежный...

Вот пример кода который я сделал.
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. #подключение к MYSQL  
  4. include('inc/connect.php');
  5.  
  6. # Счетчик Online Пользователей
  7. function online () {
  8. $ip=getenv("HTTP_X_FORWARDED_FOR");
  9. if (empty($ip) || $ip=='unknown') { $ip=getenv("REMOTE_ADDR"); }
  10. # уд. старые сессии
  11. mysql_query ("DELETE FROM online WHERE UNIX_TIMESTAMP() - UNIX_TIMESTAMP(time) > 300") or die ("Can't delete old sess");
  12.  
  13. # проверка на присутстаие или занесение нового пользователя
  14. $select = mysql_query ("SELECT ip FROM online WHERE ip='$ip'") or die ("Can't select duble");
  15. $tmp = mysql_fetch_row ($select);
  16. if ($ip == $tmp[0]) {
  17. #mysql_query ("UPDATE online SET time=NOW() WHERE ip='$ip'") or die ("Can't update");
  18. mysql_query ("UPDATE online SET login='$_SESSION[user_admin_sp] $_SESSION[user_guest_sp]', link='Xz', time=NOW() WHERE ip='$ip'") or die ("Can't update");
  19. } else {
  20. mysql_query ("INSERT INTO online (ip,time) VALUES ('$ip',NOW())") or die ("Can't insert");
  21. }
  22. # считывание результатов
  23. $select = mysql_query ("SELECT COUNT(*) FROM online") or die ("Can't select result");
  24. $tmp = mysql_fetch_row ($select);
  25. $result = $tmp[0];
  26.  
  27. return $result;
  28. }
  29.  
  30. $comments=online();
  31.  
  32. if ($comments<=1) //выводит когда 1 человек на сайте
  33. {
  34.  
  35. echo "<center>Всего Online: <b>".online()."</b> Человек</center>";
  36.  
  37. }
  38.  
  39. if ($comments>=2) //выводит когда 2 человека на сайте
  40. {
  41.  
  42. echo "<center>Всего Online: <b>".online()."</b> Человека</center>";
  43.  
  44. }
  45.  
  46. if ($comments>=3) //выводит когда 3 человека на сайте
  47. {
  48.  
  49. echo "<center>Всего Online: <b>".online()."</b> Человека</center>";
  50.  
  51. }
  52.  
  53. if ($comments>=4) //выводит когда 4 человека на сайте
  54. {
  55.  
  56. echo "<center>Всего Online: <b>".online()."</b> Человека</center>";
  57.  
  58. }
  59.  
  60. if ($comments>=5) //выводит когда 5 человек на сайте
  61. {
  62.  
  63. echo "<center>Всего Online: <b>".online()."</b> Человек</center>";
  64.  
  65. }
  66. ?>


Прошу помощи.

(Отредактировано автором: 12 Апреля, 2011 - 22:50:01)

 
 Top
valenok
Отправлено: 12 Апреля, 2011 - 23:02:01
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)






-----
Truly yours, Sasha.
 
My status
 Top
Mr.KreDo
Отправлено: 13 Апреля, 2011 - 20:45:59
Post Id



Гость


Покинул форум
Сообщений всего: 65
Дата рег-ции: Апр. 2011  
Откуда: Старый Оскол, Россия


Помог: 0 раз(а)




Возник еще вопрос, что бы не создавать еще раз тему, напишу тут.

есть код который заносит информацию о пользователе который сейчас на сайте, в базу данных:
PHP:
скопировать код в буфер обмена
  1. mysql_query ("UPDATE online SET login='$_SESSION[user_admin_sp] $_SESSION[user_guest_sp]', link='Xz', time=NOW() WHERE ip='$ip'") or die ("Can't update");


хотел сделать так что бы, заносилась ссылка на страницу на которой он находится
про бывал через глобальный массив $SERVER

но я заметил что глобальный массив $SERVER ( к примеру выводится только так echo $_SERVER['REMOTE_ADDR']; )
у меня не выходит, осуществить этот вариант.
выводит синтаксическую ошибку

пример:
PHP:
скопировать код в буфер обмена
  1. mysql_query ("UPDATE online SET login='$_SESSION[user_admin_sp] $_SESSION[user_guest_sp]', link='$_SERVER['REMOTE_ADDR']', time=NOW() WHERE ip='$ip'") or die ("Can't update");


может я что то не так делаю ?

(Отредактировано автором: 13 Апреля, 2011 - 20:51:28)

 
 Top
DeepVarvar Супермодератор
Отправлено: 13 Апреля, 2011 - 21:27:06
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)





точечки.
 
 Top
Mr.KreDo
Отправлено: 13 Апреля, 2011 - 21:31:51
Post Id



Гость


Покинул форум
Сообщений всего: 65
Дата рег-ции: Апр. 2011  
Откуда: Старый Оскол, Россия


Помог: 0 раз(а)




DeepVarvar

этот вариант, выдаст и выдает ошибку
PHP:
скопировать код в буфер обмена
  1. Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/wm33744/public_html/includes/left_menu.php on line 37

(Отредактировано автором: 13 Апреля, 2011 - 21:32:30)

 
 Top
OrmaJever
Отправлено: 13 Апреля, 2011 - 21:37:50
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




PHP:
скопировать код в буфер обмена
  1. mysql_query ("UPDATE online SET login='{$_SESSION['user_admin_sp']} {$_SESSION['user_guest_sp']}', `link`='{$_SERVER['REMOTE_ADDR']}', `time`=NOW() WHERE ip='$ip'") or die ("Can't update");


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Mr.KreDo
Отправлено: 13 Апреля, 2011 - 21:44:36
Post Id



Гость


Покинул форум
Сообщений всего: 65
Дата рег-ции: Апр. 2011  
Откуда: Старый Оскол, Россия


Помог: 0 раз(а)




OrmaJever

спасибо, работает.

(Отредактировано автором: 13 Апреля, 2011 - 21:47:52)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB