Forum Webscript.Ru

Программирование => PHP => Тема начата: victor123 от 23 Марта 2005, 02:50:23

Название: сделать счетчик посетителей
Отправлено: victor123 от 23 Марта 2005, 02:50:23
Здравствуйте!
Я в PHP новичек - прошу сильно не пинать.
Суть задачи следующая: сделать счетчик посетителей http://www.сайт2.ru/about.html   , которых посредством МЕТА редиректнули с http://www.сайт1.ру/фирма

src страницы по адресу http://www.сайт1.ру/фирма следующий (и я к нему доступа не имею):
Цитировать










в эту (сайт2.ru/about.html) страницу планирую вставить PHP-скрипт посредством SSI так:
Цитировать




текст counter.php следующий:
Цитировать

$count_file="counter.dat";
$f=fopen($count_file,"r");
$count=fgets($f,100);
fclose($f);
$from=getenv("HTTP_REFERER");
if ($from=="http://www.сайт1.ру/фирма")
{
$count++;
$f=fopen($count_file,"w");
fputs($f,"$count");
fclose($f);
}
echo "$count";
echo "откуда пришел пользователь:";
echo "$from";
?>


Увы, никак не пойму закономерности, по которой заполняется HTTP_REFERER. Он просто остается пустым и счетчик не увеличивается. Я так понимаю, это из-за МЕТА? Какие можете порекомендовать способы решения поставленной задачии?

Буду очень благодарен!
Название: сделать счетчик посетителей
Отправлено: Lutik от 23 Марта 2005, 11:44:17
Из мана: http://phpclub.net/manrus/rese/variables.html#reserved.variables.server
\'HTTP_REFERER\'
Адрес страницы (если имеется), который направил пользовательского агента (ПА) на текущую страницу. Устанавливается ПАгентом. Не все ПА будут его устанавливать, а некоторые могут модифицировать HTTP_REFERER. Короче говоря, доверять ему нельзя.
Попробуй: REQUEST_URI
Название: сделать счетчик посетителей
Отправлено: victor123 от 23 Марта 2005, 13:03:49
Lutik
во-первых, тут контингент у страницы предполагается такой, что вряд ли у кого-то окажется что-то отличное от IE. да и не так критично это.
а во-вторых, расскажите поподробнее про REQUEST_URI
Название: сделать счетчик посетителей
Отправлено: Lutik от 23 Марта 2005, 13:21:11
http://phpclub.net/manrus/rese/vari...ariables.server
Посмотри все переменные которые там описаны там есть REQUEST_URI
Вобщем вернет тожесамое что и HTTP_REFERER
Название: сделать счетчик посетителей
Отправлено: Меняздесьдавнонет от 23 Марта 2005, 14:33:15
сдается мне, Lutik, ты совсем не в ту степь уехал
Название: сделать счетчик посетителей
Отправлено: victor123 от 23 Марта 2005, 14:37:27
что-то ссылка не работает..
Название: сделать счетчик посетителей
Отправлено: Lutik от 23 Марта 2005, 15:42:45
Объективное мнение гуру нашего форума (RomikChef) хочу услышать. Куда надо ехать и на чем? :) Аж самому стало интересно!
Название: сделать счетчик посетителей
Отправлено: Меняздесьдавнонет от 23 Марта 2005, 15:57:40
victor123,а зачем ты вообще завязываешься на реферер, когда все партнерские программы работают через передачу параметра?
ну, что-то вроде
?partner">
Название: сделать счетчик посетителей
Отправлено: victor123 от 23 Марта 2005, 17:27:15
я же написал, что не имею доступа у сайту1.
потому и нет возможности передать с него параметр.

можете помочь более дельными советами?
Название: сделать счетчик посетителей
Отправлено: Меняздесьдавнонет от 23 Марта 2005, 17:31:42
могу.
но теперь не хочу.
Название: сделать счетчик посетителей
Отправлено: victor123 от 23 Марта 2005, 17:39:04
я что-то сказал не так? или на ваш взгляд у меня совсем клинический случай?
Название: сделать счетчик посетителей
Отправлено: Меняздесьдавнонет от 23 Марта 2005, 17:49:41
немного того, немного другого.
я не очень силён в технологии ssi, но насколько мне представляется, при выполнении инструкции include апач делает отдельный запрос к себе. ну и реферер будет совершенно очевидно пустым. поскольку запрос делает апач а не браузер
Название: сделать счетчик посетителей
Отправлено: victor123 от 24 Марта 2005, 01:45:27
RomikChef
следуя Вашей подсказке, все же удалось уговорить подправить страницу, с которой происходит редирект. Сделали в таком духе (как Вы говорили):


подскажите, как теперь на странице, на которую произведен редирект, считать этот параметр? а то я совсем чайник еще...
Название: сделать счетчик посетителей
Отправлено: Меняздесьдавнонет от 24 Марта 2005, 10:30:59
лучше бы сделали ссылку вида http://www.сайт2.ru/about.php?partner
я же говорю - не силён в SSI
смотри в своем счетчике phpinfo()
если там есть твой партнёр - хорошо. если нет - читай доку по ssi, смотри, как там выцепить квери стринг и присоединить к вызову счетчика
Название: сделать счетчик посетителей
Отправлено: Mog. от 25 Марта 2005, 10:56:54
victor123
в сайт2.ru/about.html


а в counter.php
$from=getenv("QUERY_STRING");
ну и соответственно проверяешь
if ($from=="partner") и т.д.
Название: сделать счетчик посетителей
Отправлено: victor123 от 28 Марта 2005, 00:05:17
Mog.
я уже пытался так сделать. нашел Ваш же, кажется, совет здесь на форуме. Но у меня почему-то {QUERY_STRING} так и остается. т.е. не обрабатывается сервером никак..
Название: сделать счетчик посетителей
Отправлено: Меняздесьдавнонет от 28 Марта 2005, 09:04:51
Цитировать
RomikChef:
если там есть твой партнёр - хорошо. если нет - читай доку по ssi, смотри, как там выцепить квери стринг и присоединить к вызову счетчика
Название: сделать счетчик посетителей
Отправлено: Меняздесьдавнонет от 28 Марта 2005, 09:15:55
Цитировать
Но у меня почему-то {QUERY_STRING} так и остается. т.е. не обрабатывается сервером никак..

что означает этот текст?
что значит - остаётся? Что значит - не обрабатывается? А как она должна обрабатываться?
Название: сделать счетчик посетителей
Отправлено: victor123 от 28 Марта 2005, 14:18:43
я так предполагаю, что должно заменяться на URL, которым запросили документ сайт2.ru/about.html
а далее передаваться через SSI в скрипт counter.php
но у меня передается только ${QUERY_STRING} как plain text. Т.е. сервер не заменяет этот параметр на URL
Название: сделать счетчик посетителей
Отправлено: Меняздесьдавнонет от 28 Марта 2005, 14:21:53
Цитировать
victor123:
я так предполагаю, что должно заменяться на URL

что должно заменяться? на какой URL? Зачем? Где заменяться?
Цитировать
victor123:
но у меня передается только ${QUERY_STRING} как plain text

а должно как передаваться? как html?

я начинаю сомневаться в том, что решение задачи тебе вообще нужно.
Читаем то, что я тебе два дня назад написал:
Цитировать
RomikChef:
смотри в своем счетчике phpinfo()
если там есть твой партнёр - хорошо. если нет - читай доку по ssi, смотри, как там выцепить квери стринг и присоединить к вызову счетчика

что из этого выполнено?
какие результаты?
Название: сделать счетчик посетителей
Отправлено: victor123 от 28 Марта 2005, 17:55:14
если бы у меня было время перечитывать все доки - я бы здесь не спрашивал. но в будущем обязательно перечитаю, что бы здесь вот такие вот резкие высказывания не читать.  :(
задачу я уже реализовал, между прочим.
Название: сделать счетчик посетителей
Отправлено: Меняздесьдавнонет от 28 Марта 2005, 21:38:30
вот видишь, как хорошо
самостоятельно работать - всегда полезнее.
а уж обещание прочитать документаццию и вовсе отрадно. правда, не обязательно читать всю - достаточно только ту, которую надо для конкретного случая.
а спрашивать здесь не нужно не потому, что высказывания резкие, а потому, что SSI к теме этого форума не имеет ну ни малейшего отношения :-)