Strict Standards: Resource ID#18 used as offset, casting to integer (18) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#23 used as offset, casting to integer (23) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#25 used as offset, casting to integer (25) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#26 used as offset, casting to integer (26) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Подсчет кликов по ссылкам
ТвойWeb ТвойWeb
Качественный Европейский хостинг
Форум для чайников
 Чат на форуме      Помощь      Поиск      Пользователи


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

> Описание: Не работает скрипт подсчета кликов по ссылкам
ru-sagem
Отправлено: 22 Января, 2005 - 18:31:01
Post Id



Member


Покинул форум
Сообщений всего: 144
Дата рег-ции: Нояб. 2004  
Откуда: Брест, BELARUS

Карма 0




Добрый вечер
Скачал себе простенький скрипт посчета скачивания файлов и кликов по ссылкам, а он не хочет работать.
Ссылки вида:
CODE:
<a href="../pictures/download.php?get=auto.php">

работает нормально.
А вот эта:
CODE:
<a href="../pictures/download.php?get=logos.php?news_section=198%20200%20194%20206%20210%20205%20219%20197">

нехочет.

Что надо подправить чтобы работало с вторым типом ссылок.

Вот скрипт:
CODE:
<?
$extension = ""; // вы можете изменить этот параметр (если вы используете другие расширения) или сделать его пустым
$counterdir = "counters/"; // директория где будут находится файлы счетчики

$textfont = "Verdana,Tahoma"; // шрифты для вывода ошибки

// :: Процедура ::

if (file_exists("$get$extension"))
{
header("location: $get$extension"); // загружаем файл [download.php?get=имя файла]
$file = fopen("$counterdir/$get.txt","r"); // счетчик загрузок
$count = fread($file, 100); // читаем счетчик
$countplus = ($count + 1); // увеличиваем счетчик на 1
fclose($file); // закрываем файл
$fileb = fopen("$counterdir/$get.txt","w"); // открываем опять файл счетчика
fwrite($fileb, $countplus, 100); // записывает результат в файл счетчика
fclose($fileb); // закрываем файл
}
else echo "<font face=$textfont size=2>"; // если произошла ошибка
echo "<center><BR><BR> Невозможно скачать файл <b>$get$extension</b><BR>";

?>
 
 Top
TvoyWeb Администратор
Отправлено: 22 Января, 2005 - 20:48:46
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




ru-sagem
А зачем тебе посчитываеть такие ссылки?
И как ты собираешься делать ссылки новостей такого вида? Ведь они автоматом формируются в скрипте новостей.
 
 Top
ru-sagem
Отправлено: 23 Января, 2005 - 06:00:08
Post Id



Member


Покинул форум
Сообщений всего: 144
Дата рег-ции: Нояб. 2004  
Откуда: Брест, BELARUS

Карма 0




Просто я скрипт который первоначально служил для новостей, пристроил еще к нескольким разделам. Как все даделаю выставлю на обозрение.
Получается что бы попасть в какой нибудь раздел на перейти по ссылке такого вида и необходимо чтобы они подсчитывались.
Можно использовать и другой скрипт подсчета ссылок, но тогда придется переделывать все страницы сайта которые выводят количество кликов, а это добрых 90%.
 
 Top
ru-sagem
Отправлено: 23 Января, 2005 - 13:37:47
Post Id



Member


Покинул форум
Сообщений всего: 144
Дата рег-ции: Нояб. 2004  
Откуда: Брест, BELARUS

Карма 0




Господа ели это не сложно сделать? может поможет кто?
 
 Top
TvoyWeb Администратор
Отправлено: 23 Января, 2005 - 13:47:52
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




ru-sagem пишет:
А вот эта: нехочет

Как именно не хочет? Что происходит после клика? Переходит на заданный раздел?
А лучше сделай такую ссылку (которая работать не хочет) и дай мне линк на страницу, постреть что там и как.
 
 Top
ru-sagem
Отправлено: 23 Января, 2005 - 15:14:53
Post Id



Member


Покинул форум
Сообщений всего: 144
Дата рег-ции: Нояб. 2004  
Откуда: Брест, BELARUS

Карма 0




Не хочет воспринимать ссылку вида:
CODE:
http://www.myx7.h12.ru/pictures/download.php?get=index.php?news_section=192%20194%20210%20206%20204%20206%20193%20200%20203%20200

Цитата:
Что происходит после клика?

После клика пишет, что такой файл не найден. Потому что его не существует.
Если брать рабочую ссылку,
CODE:
http://www.myx7.h12.ru/pictures/download.php?get=auto.php

скрипт выполняет такое действие: открывает файл auto.php.txt увеличивает каличество переходов на 1 закрывает файл и перенаправляет по ссылке:
CODE:
http://www.myx7.h12.ru/pictures/auto.php

Цитата:
Как именно не хочет?

Надо что бы работала ссылка вида:
CODE:
http://www.myx7.h12.ru/pictures/download.php?get=index.php?news_section=192%20194%20210%20206%20204%20206%20193%20200%20203%20200

Счетчик увеличивал количество кликов на 1 и переводил браузер на адрес:
CODE:
http://www.myx7.h12.ru/pictures/index.php?news_section=192%20194%20210%20206%20204%20206%20193%20200%20203%20200


Тут я увидел проблему с именем файла. index.php?news_section=192%20194%20210%20206%20204%20206%20193%20200%20203%20200.txt - такое имя не сделаешь.
Пойдет и такое: 192%20194%20210%20206%20204%20206%20193%20200%20203%20200.txt

Вот ссылка http://www.myx7.h12.ru/pictures/...0200%20203%20200

Если убрать из неё download.php?get= все работает.
 
 Top
TvoyWeb Администратор
Отправлено: 23 Января, 2005 - 15:56:12
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




ru-sagem
Я понял в чем проблема. Что то я сразу не догнал, вернее не вникал (голова малость другим забита).
Дело в том что этот скрипт не обработает такие ссылки.
Ведь скрипт проверяет в папке наличие файла:
CODE:
if (file_exists("$get$extension"))

Что можно перевести как "если такой-то файл существует по указанному адресу", но такого файла нет, а значит скрипт и выдаст об этом сообщение.
попробуй заменить:
CODE:
file_exists("$get$extension")

На
CODE:
fopen($get$extension,"r")

Может получится.
 
 Top
ru-sagem
Отправлено: 23 Января, 2005 - 17:58:16
Post Id



Member


Покинул форум
Сообщений всего: 144
Дата рег-ции: Нояб. 2004  
Откуда: Брест, BELARUS

Карма 0




Вариантик не прошел.
У меня ещё родилась одна идея! А что если в скрипте, если можно сделать, установить ограничение по количетсву символов?
Допустип
CODE:
download.php?get=index.php?news_section=192%20194%20210%20206%20204%20206%20193%20200%20203%20200

скрипт берет первые 9 символов (index.php) а остальные не учитывает при поиске файла.
Как идея.
 
 Top
TvoyWeb Администратор
Отправлено: 24 Января, 2005 - 01:41:15
Post Id



Главный здесь


Покинул форум
Сообщений всего: 7072
Дата рег-ции: Нояб. 2003  
Откуда: Tashkent Uz

Карма 52




ru-sagem
Перед строкой
CODE:
if (file_exists("$get$extension"))

Вставь
CODE:
$get = substr($get, 0, strpos($get, '?'));
 
 Top
ru-sagem
Отправлено: 24 Января, 2005 - 16:40:54
Post Id



Member


Покинул форум
Сообщений всего: 144
Дата рег-ции: Нояб. 2004  
Откуда: Брест, BELARUS

Карма 0




Багодарю за помощь!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 2 (гостей: 2, зарегистрированных: 0, скрытых: 0)
« PHP/Perl »


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



Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0421]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33