![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| SantaXP |
|
||||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 5.6.2003 Репутация: нет Всего: нет |
Именно так. У мен возникла проблема, при изучении книги "Разработка CGI-приложений на PERL". То есть там есть пример скрипта составления статистики посещения сайта. То есть инфо о посетителе выводится скриптом "viewlog.cgi", собирается информация с помощью "vislog.cgi" + собственный модуль LogConnect.pm для подключения к базе данных visitors на MySQL сервере localhost.
Так вот. Несмотря на многочисленные проблемы, я привёл скрипты вот в такой результат, который я вам сейчас продемонстрирую. LogConnect.pm:
vislog.cgi:
viewlog.cgi:
Раньше ко всем 3-ём скриптам прилагалась строка: use strict; Однако, от неё было больше проблем, чем пользы. И так, при запуске, либо viewlog.cgi, либо vislog.cgi выдаётся лишь вот такое сообщение, отличающееся в двух вариантах, лишь номером строки с prepare:
----- |
||||||||
|
|||||||||
| SantaXP |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 5.6.2003 Репутация: нет Всего: нет |
|
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: нет Всего: 44 |
объекьно-ориентированное программирование
|
|||
|
||||
| SantaXP |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 5.6.2003 Репутация: нет Всего: нет |
|
|||
|
||||
| korob2001 |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Удачи. Это сообщение отредактировал(а) korob2001 - 29.6.2005, 20:16 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||||
|
|||||||
| SantaXP |
|
||||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 5.6.2003 Репутация: нет Всего: нет |
Честно говоря, ошибку в вашем коде не нашёл. Если заменить все двойные скобки на одинарные, то пишет это:
Однако, когда я порылся в логах апача - понял, что вы неправильно указали название таблицы (access_log). Теперь пишет вот это:
Есди снова заменить все двойны на одинарные кавычки пишет в логах:
Это сообщение отредактировал(а) SantaXP - 29.6.2005, 22:49 |
||||||||
|
|||||||||
| korob2001 |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Попробуй так:
или попробуй указать явно поля в запросе:
Удачи. Это сообщение отредактировал(а) korob2001 - 30.6.2005, 01:49 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||
|
|||||
| SantaXP |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 5.6.2003 Репутация: нет Всего: нет |
---- ОК, vielog.cgi работает замечательно!!!
У меня имеется в таблице access_log шесть полей. Из них в данном скрипте я вывел только 2 (имена полей смотрите в верхнем, моём отредактированном запросе). Однако такой скрипт на мой взгляд далёк от оптимизации. немогли бы вы, как профессионал рассказать мне, что и как тут оптимизировать, однако несколько проще. Чтобы я смог этот скрипт (оптимизированный вами) понять и переварить в своей голове. |
||||
|
|||||
| korob2001 |
|
||||||||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
1.) Удали эту строку:
Она нужна только на стадии разработки, юзеру совсем даже не нужно видеть подробностей. 2. ) Если ты сортируешь строки, в этой части кода:
Тогда замени её на такую:
3. ) Может подумать над тем, что бы вместо двух запросов подряд к базе данных, сделать один?? Темболее ты обращаешься к одной таблице. Например:
Данный код выдаст в браузер всех клиентов и их IP, отсортированных по полю CLIENT. ЗЫ: Это работать бует не верно, да и расходы большие:
Работать будет не верно из за того, что ты сначала получаешь список клиентов, сортируешь его:
затем получаешь список ip, сортируешь его не зависимо от списка клиентов
потому у тебя каждый клиент, будет иметь не свой IP. И запомни, что строки нельзя сортировать как числа. Для строк cmp, для чисел <=>. Это так же касается операторов сравнения. Удачи. Это сообщение отредактировал(а) korob2001 - 1.7.2005, 03:28 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||||||||||||
|
|||||||||||||||
| SantaXP |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 5.6.2003 Репутация: нет Всего: нет |
|
|||
|
||||
![]()
|
| Правила форума "Perl: CGI программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |