<MyRusakov.ru />

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Видеокурс "Фреймворк Yii 2.0 с нуля. Пример создания сайта" обучит Вас созданию профессиональных сайтов с использованием фреймворка Yii. В курсе есть 2 раздела: теоретический и практический. В теоретическом разделе будут разобраны возможности фреймворка Yii с примерами их использования, а в практической части будет создан сайт Blog.MyRusakov.ru с помощью полученных знаний из теоретического раздела.

Так же почти ко всем урокам идут упражнения для закрепления материала из урока на практике.

После прохождения курса Вы без труда сможете создавать любые сайты с использованием фреймворка Yii, причём делать это будете быстро и качественно.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Помощь со скриптом "кто онлайн"
21.03.2012 20:14:48 Помощь со скриптом "кто онлайн" Сообщение #1
crips

crips

Освоившийся

Освоившийся

Дата регистрации:
18.12.2011 13:05:02

Сообщений: 28

Здравствуйте,Михаил!
Хотел бы у Вас попросить помощи,
на сайте нужно реализовать функцию вывода онлайн пользователей,читал Вашу статью,пробовал скрипты разные и остановился на таком коде:

// Мы не хотим, чтобы поисковые боты искажали статистику:
if(is_bot()) die();
$stringIp = $_SERVER['REMOTE_ADDR'];
$intIp = ip2long($stringIp);
//Подключаемся к БД
mysql_connect("localhost","root",123);
mysql_select_db("counter";
// Проверяем отмечен ли посетитель как "онлайн":
$inDB = mysql_query("SELECT * FROM who_is_online WHERE ip=".$intIp);
if(!mysql_num_rows($inDB))
{
// Этого пользователя нет в БД
mysql_query("INSERT INTO who_is_online SET `ip`='".$intIp."'";
}
else
{
// Если пользователь онлайн, просто внести изменения в значение поля dt:
mysql_query("UPDATE who_is_online SET dt=NOW() WHERE ip=".$intIp);
}

// убираем записи, которые не обновлялись в течении 5 минут:
// добавили лимит, чтобы не сильно тормозил скрипт. Если людей достаточно много, можете лимит сделать меньше вплоть до 1.
// так сайт значительно быстрее работать будет.
mysql_query("DELETE FROM who_is_online WHERE dt<SUBTIME(NOW(),'0 0:05:0') LIMIT 20";

// Подсчитываем всех посетителей онлайн:
$query = mysql_query( "SELECT `ip` FROM `who_is_online`" );
$resalt = mysql_num_rows( $query );
echo $resalt;

Структура таблицы mysql:
CREATE TABLE `who_is_online` (
`id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`ip` int(10) NOT NULL DEFAULT '0',
`dt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `ip` (`ip`),
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

Но возникает проблемы,заходя на страницу моя информация записывается в БД и выводит,что 1 пользователь онлайн,но захожу с другого компьютера и с него уже не добавляются данные в БД,как можно это решить?
Профиль Ответить
21.03.2012 20:40:46 Помощь со скриптом "кто онлайн" Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

А этот другой компьютер, случаем, имеет не тот же IP? Если тот же, то тогда он и не должен добавляться.
Профиль Ответить
21.03.2012 22:51:55 Помощь со скриптом "кто онлайн" Сообщение #3
crips

crips

Освоившийся

Освоившийся

Дата регистрации:
18.12.2011 13:05:02

Сообщений: 28

а действительно оказалось,что из за вай фая один айпи,все заработало,спасибо!)
Профиль Ответить