Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программируем на PHP - вопросы и ответы.


Служба Рассылок Subscribe.Ru

Здравствуйте! Выпуск номер 42
рассылки сайта РНР для всех!

Вы получили этот выпуск рассылки, так как являетесь подписчиком рассылок сайта http://subscribe.ru Рассылка выходит еженедельно, и предлагает Вам авторские материалы по теме программирования на скриптовом языке гипертекстового препроцессора РНР. Кроме того - есть система вопросов и ответов, обмен ссылками и баннерами, раздел Ваши письма и многое другое.
Форум сайта
Архив рассылки

заказать книги по РНР  
(только Беларусь)

Наверное многие из вас видели такую модную фишку как "Сейчас на сайте 126 человек, из них в чате 89". Если нет, то поставить счетчик от SpyLog вы можете легко увидеть сколько человек находится на вашем сайте.
Вот и я решил сам реализовать такую функцию у себя на сайте http://ancient.dax.ru и вот к чему пришел...
Протокол HTTP в принципе не позволяет определить количество посетителей одновременно находящихся на сайте. Почему это так я объяснять не хочу, но можете мне поверить на слово. Следовательно приходится придумывать какой-то искусственный метод.

Первое что нам понадобится это база данных (в моем случае это MySQL). В этой БД нам нужна таблица с двумя полями username и time


CREATE TABLE session (
username varchar(25) DEFAULT '' NOT NULL,
time varchar(14) DEFAULT '' NOT NULL
);

Далее приступим к написанию самого скрипта, вернее одной единственной функции. Итак,

function online() {

$username = getenv("REMOTE_ADDR");

$past = time()-900;

mysql_query("DELETE FROM session WHERE time < $past");
$result = mysql_query("SELECT time FROM session WHERE username='$username'");

$ctime = time();

if ($row = mysql_fetch_array($result)) {
mysql_query("UPDATE session SET username='$username', time='$ctime' WHERE username='$username'");
} else {
mysql_query("INSERT INTO session (username, time) VALUES ('$username', '$ctime')");
}

$result = mysql_query("SELECT COUNT(*) FROM session");
$count = mysql_fetch_array($result);
echo $count[0];

}


Алгоритм очень прост. Идентифицируем каждого пользователя и заносим время его прихода на страницу. Определяем время, через которое пользователь будет считаться покинувшим сайт. Вот и все.
Теперь пояснения по коду. Первым делом мы получаем адрес удаленного пользователя (REMOTE_ADDR) и определяем время, через которое будем считать пользователя покинувшим сайт.

mysql_query("DELETE FROM session WHERE time < $past");
Этой строкой удалем все просроченные записи.

$result = mysql_query("SELECT time FROM session WHERE username='$username'");
Выбираем из БД поля, для которых REMOTE_ADDR пользователя совпадает с уже зафиксированным.

if ($row = mysql_fetch_array($result)) {
mysql_query("UPDATE session SET username='$username', time='$ctime' WHERE username='$username'");
} else {
mysql_query("INSERT INTO session (username, time) VALUES ('$username', '$ctime')");
}

Если такие записи в таблице есть, то обновляем, заносим новое время захода на страницу, если нет - добавляем новую запись.


$result = mysql_query("SELECT COUNT(*) FROM session");
$count = mysql_fetch_array($result);
echo $count[0];

Считаем из базы количество записей - это и будет количество поситителей на сайте.

Это все.

Ancient.

Каталог веб-мастера (статьи, готовые скрипты) http://ancient.dax.ru


Вопросы и ответы
задать вопрос

Предлагаю Вам задать вопросы на форуме сайта рассылки. Вопрос должен быть кратким, точным и по теме. Ответы на вопросы по мере знаний будут даваться мной, а если я не смогу дать Вам исчерпывающий ответ - кто-то из подписчиков обязательно поможет. А если Вы знаете ответ на заданный вопрос - не поленитесь ответить. Этим Вы очень поможете кому-то решить свою проблему. Синтаксис и грамматика - авторские.

Новое на форуме сайта...

Автор вопроса: Тема вопроса: Всего: Создан:
1 Андрей Кухарчик Это тестовый форум для любых экспериментов 2 29.01.2002 16:58
2 Андрей Кухарчик Обсуждаем форум 3 29.01.2002 16:59
3 KOSMONAVT Начинающий. 0 29.01.2002 17:03
4 Robin MyODBC 0 29.01.2002 17:04
5 Димон Архив рассылок одним файлом 6 29.01.2002 17:05
6 alan Посетители на транице 4 30.01.2002 17:06
7 Alan Предложение 0 01.02.2002 15:16
8 Костя Апачя и русский язык 1 01.02.2002 22:04
9 Wiserat PHP, как ссылку прописать? 0 02.02.2002 01:37
10 Wiserat .php или .phtml? 7 02.02.2002 01:46
11 Fug1t1v3 HELP! 1 03.02.2002 16:28
12 zJ Время жизни сессии? 0 03.02.2002 17:19
13 Dog_Gray Можно-ли на PHP сделать форму для входа в запаролированный каталог 0 03.02.2002 19:46
14 SHADOW Как подключить и настроить PHP? 1 05.02.2002 11:52
15 Ottor Автоматическая генерайия письма 0 07.02.2002 17:01
Автор вопроса: Тема вопроса: Всего: Создан:

задать вопрос


Обмен ссылками и баннерами

Предлагаю Вам стать участниками баннерообмена. Ваши ссылки и описания Ваших сайтов вы можете присылать по адресу рассылки - virtualphp@tut.by Все ссылки обязательно появятся в этой рассылке. Вам надо будет разместить у себя код баннера сайта рассылки, и только на главной страничке Вашего сайта.

Взять код моего баннера можно этот:  

<a href="http://virtual.bresttelecom.by/php/"><IMG SRC="http://virtual.bresttelecom.by/baner/8831.phtml"
alt="Виртуальный Брест" width="88" height="31" border="0"></a>

... для начала. Позже я вышлю Вам другой.

Наши друзья

http://virtual.bresttelecom.by - Виртуальный Брест. Региональный информационно - развлекательный портал города Бреста. Чат, форум, статьи, услуги, объявления, недвижимость, каталог сайтов - это и многое другое ждет Вас на страницах сайта.
http://price.bresttelecom.by - сайт прайсов фирм города Бреста. Поиск, подсчет, реклама и т.д.
http://tweak.tut.by - http://tweak.bresttelecom.by - Оптимизация и настройка компьютера. Если Вас интересуют различные аспекты настройки Вашего мегагерцевого друга, Вам надо посетить сайт посвященный настройке и оптимизации. Кроме того - список последних версий популярных программ и свежие новости, а так же чат, форум и многое другое!
WebCraft - всё для вебмастеров, увеличение вашего трафика на 200 посетителей в день.
http://sos.dax.ru - Проект "SOS:Помощь пользователю". На сайте вы найдете множество статей, советов по компьютеру. Всегда свежий софт. А также вы сможете задать вопрос и получить на него моментальный ответ. Если вам нужна помощь - мы поможем вам!
http://www.uvd.tula.ru - сайт криминальной милиции УВД Тульской области. Здесь будет все, что Webhowto.Ru - много полезной информации для людей, занимающихся сайтостроением. Информация по настройке собственного веб-сервера на базе Apache, использовании .htaccess для работы с сервером хостинга, масса полезной информации по вебстроительству и отдельный большой раздел, посвященный реестру Windows. Оказывается, Windows тоже настраивается!
http://kamony.h1.ru  Информационный портал Kamony Здесь есть все! Программы, приколы, полезности, музыка, развлечекасается милиции, права и жизни города Тулы.
http://myvote.hut.ru - MyVote - голосование на Вашем сайте.Сервис для всех вебмастеров, которые хотят сделать свой сайт более интерактивным. Позволяет организовать опрос мненияпользователей на любом сервере.
http://www.sura.ru/maxwell Математика, Алгоритмы, Программирование. На сайте можно найти описания различных алгоритмов и методов, относящихся к различным математическим (и не только) дисциплинам.
http://babylon1.narod.ru - это разделы посвящённые созданию и раскрутке сайта, созданию эффективного баннера, интересным эффектам на java-скриптах, php-скриптах и cgi-скриптах. А также здесь Вы найдёте программы для ускорения интернета, памяти, компьютера, системы, Windows и многое другое интересное и полезное, что Вас, надеюсь, заинтересует.
http://moorhuhn.bip.ru/  - Сайт рассказывает о лучших бесплатных играх интернета - Moorhuhn, Vampirejagd, Tux Racer, Catch the Sperm, а также есть коллекция онлайн игр и обоев.
ния, мировые новости, компьютерная безопасность, скрытые возможности программ и ОС, раскрутка сайтов и многое многое другое!


Сайты в тему

Предлагаю Вам коллекцию сайтов, где Вы сможете отыскать различную информацию по поводу РНР. Если у Вас есть предложения по поводу расширения этого списка - я с удовольствием добавлю сюда еще один полезный ресурс. Присылайте свои ссылки и описания.

  • http://www.php.net/ - официальный сайт РНР. Масса информации, но только для тех, кто дружит с английским.
  • http://www.php-encoder.f2s.com - защита РНР скриптов UPDATED.
  • http://phpclub.net - Архив бесплатных PHP-приложений (вкл. E-commerce), форумы, чаты, рассылки, книги, обучение, хостинг.
  • http://www.devshed.com/Server_Side/PHP/ интересные статьи по PHP и не только.
  • http://ancient.dax.ru На сайте много готовых решений на PHP: форумы, чаты, гостевые книги и многое другое. Кроме того сам сайт реализован на php.
  • http://detail.phpclub.net/ - как обычно, о РНР.
  • http://firststeps.narod.ru/html/php/php.html
  • http://detail.phpclub.net/
  • http://phpclub.unet.ru
  • http://open.appideas.com/   сборник скриптов
  • http://programmingpub.com/scripts.html   скрипты на perl,php,python,tcl
  • http://px.sklar.com   php сборник скриптов
  • http://phplib.netuse.de   Здесь можно найти самую матёрую библиотеку на php(не отдельные скрипты, а цельное пособие по разработке), только не спешите подписываться на рассылки (авторы думают что все в мире должны знать немецкий
  • http://php.resourceindex.com/   коллекция скриптов
  • http://phpwizard.net   Tobias Ratschiller ничего не говорит?
  • http://www.umnik.f2s.com/ содержит информацию для вебмастера (по всем актуальным языкам веб-программирования), установка домашнего сервера Apache (разных версий)+MySQL+PHP+Perl. Также можно подписаться на рассылки
    "Вопросы и ответы по ОС" и "Будь достойным вебмастера". Имеются множество советов по компьютеру...
  • www.phpbuilder.com Здесь есть все! Форум, статьи, мануал, скрипты, да и вообще очень много профессионалов, тусующихся на сайте.
  • http://phpclasses.upperdesign.com/ Там находится масса классов на php, имеется рассылка на английском
    языке, регистрация бесплатная.
  • http://www.sourceforge.com - Вот IMHO очень полезный сайт. И не только для PHP-программистов, но и для всех остальных. Там десятки тысяч готовых примеров.

Где можно посмотреть

А и правда. РНР, да РНР! А где посмотреть как все это работает и оценить, стоит или нет заниматься этим... Правильное решение будет таким. Посетите сайты, указанные ниже, и посмотрите как они работают. Кстати, если хотите продемонстрировать всем свой проект или то, чего Вы достигли изучая РНР, присылайте ссылку и описание, и все это будет размещено здесь. Только не забудьте поставить у себя наш баннер, и обязательно на главной страничке.

http://virtual.bresttelecom.by - Виртуальный Брест. На РНР работают чат, форум, гостевая, объявления, статистика посещений, обмен компакт дисков, анекдоты.
http://www.uvd.tula.ru - сайт УВД Тульской области.
http://www.andrey.nnov.ru "Сайт Андрея Зайчикова" - Поможет начинающим программистам стать профессионалами. Алгоритмы, статьи, книги, faq и многое другое.
www.puhlik.f2s.com - Система позволяет провести опрос (голосование) любой целевой аудитории (посетители сайта, участники форума и т.д.). Полностью написана на PHP4 с использование MySQL.
http://anek.hut.ru - WWW Каталог. Весь сайт написан на PHP + MySQL


Подпишитесь на рассылки!

Рассылки Subscribe.Ru
Программируем на PHP - вопросы и ответы
Новости сайта Виртуальный Брест
Оптимизация и настройка компьютера
SOS:Помощь пользователю Интернета
Вэб-строительство Профессионалам
Кроссворды от К.Ермакова
JavaScript и PHP
BigMoney$
Dummpy Daily eTips
Аббревиатуры и термины в компьютерном мире
Тяжелая музыка от А до Я

Здесь будет публиковаться список рассылок, рекомендуемых к подписке. Если у Вас есть рассылка - предлагаю Вам обменяться подобной формочкой для подписчиков. Достаточно прислать мне код рассылки и ее название.


автор рассылки Андрей Кухарчик / http://virtual.bresttelecom.by/php



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное