Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Нужно решение для редиректа указанных кликов с сиджа.
цитата
20/10/09 в 14:29
 inSect
Своими силами не можем справиться. ВРоде ничего сложного - нужно сливать указанные клики ( скажем 10й и 12й по счету ) с сиджа на указанные урлы. Сделали прокладку между аутами стримротатора и АТЛ3 - не работает, прода почти вдвое падает, непонятно почему. ВОт ссылка если что
Проблема с аутом - падает прода.
Вот код собственного аута
<?php
define('cj_out','cgi-bin/at3/out.cgi');
$out_p = $_SERVER['QUERY_STRING'];

$redirect_by_click[16] = 'http://spy-mpegs.com/cgi-bin/at3/out.cgi?s=100&l=protraffic&u=http://tsprotraffic.com/in/BPGxdfY4f0D';
$redirect_by_click[17] = 'http://spy-mpegs.com/cgi-bin/at3/out.cgi?s=100&l=holder&u=http://www.trafficholder.com/in/in.php?xtubes';

if(!isset($_COOKIE['c_count'])) setcookie('c_count',1,time()+3600*24);
else setcookie('c_count',($_COOKIE['c_count']+1),time()+3600*24);

$count = $_COOKIE['c_count'];

if(isset($redirect_by_click[$count])){
header("Location: ".$redirect_by_click[$count]);
exit();
}
header("Location: ".cj_out."?{$out_p}");
?>

Кто знает как сделать нормально, Я готов заплатить.
цитата
20/10/09 в 16:41
 SDR
[deleted]

если надо - стукнись в аську: 576438153
сделаю за недорого

Последний раз редактировалось: SDR (20/10/09 в 21:55), всего редактировалось 1 раз
цитата
20/10/09 в 21:36
 Corex
По логике как бы всё верно, но есть 2 ошибки и 1 поправка.
Ошибка 1 в том, что первый клик вообще не учитывается, т.к. кука ставится через setcookie и тут же через $_COOKIE используется, но в $_COOKIE её пока нет, т.к. она браузеру не отдалась ещё. Т.е. при первом переходе на этот скрипт кука только ставится, а счётчик не срабатывает.

Ошибка 2: URL 'cgi-bin/at3/out.cgi' будет верным только если клик идёт с морды, если клик идёт с любой страницы с поддиректорией, т.е. например site.com/boobs/, то редиректить будет не на site.com/cgi-bin/at3/out.cgi, а на site.com/boobs/cgi-bin/at3/out.cgi, соответственно 404 (или редирект на морду - это как настроено). Это может объяснить такой большой % потери проды, т.к. она просто не учитывается нигде кроме морды из-за ошибочного редиректа.

Отсюда поправка изменить cj_out на '/cgi-bin/at3/out.cgi'.

И ещё хорошо бы увидеть сам УРЛ, на который идут клики с тумб, т.к. там последовательность тоже важна.
цитата
20/10/09 в 21:53
 Corex
Т.е. в итоге работающий вариант будет вот такой:

Код:
<?php
define('cj_out','/cgi-bin/at3/out.cgi');
$out_p = $_SERVER['QUERY_STRING'];

$redirect_by_click[16] = 'http://spy-mpegs.com/cgi-bin/at3/out.cgi?s=100&l=protraffic&u=http://tsprotraffic.com/in/BPGxdfY4f0D';
$redirect_by_click[17] = 'http://spy-mpegs.com/cgi-bin/at3/out.cgi?s=100&l=holder&u=http://www.trafficholder.com/in/in.php?xtubes';

if(!isset($_COOKIE['c_count'])) $count = 1;
else $count = ++$_COOKIE['c_count'];

setcookie('c_count',$count,time()+3600*24);

if(isset($redirect_by_click[$count]))
{
   header("Location: ".$redirect_by_click[$count]);
   exit();
}
header("Location: ".cj_out."?{$out_p}");
?>
цитата
20/10/09 в 21:54
 SDR
Я несколько прогнал, не заметил еденичку в значении куки. Думал, что её время - это как раз её значение icon_rolleyes.gif посему верхний каммент несколько потёр. Corex прав про то, что при первом заходе $count получается не определена. И ещё есть момент: когда массив $redirect_by_click весь перелистан - будут сыпаться ошибки (если такое возможно). Плюс наверное рэндомность выбора по массиву имело бы смысл внести. Хотя это мелочи и зависит от задачи.

В общем если что-то не получится - стучите.
цитата
20/10/09 в 22:11
 Corex
SDR писал:
Я несколько прогнал, не заметил еденичку в значении куки. Думал, что её время - это как раз её значение посему верхний каммент несколько потёр. Corex прав про то, что при первом заходе $count получается не определена. И ещё есть момент: когда массив $redirect_by_click весь перелистан - будут сыпаться ошибки (если такое возможно). Плюс наверное рэндомность выбора по массиву имело бы смысл внести. Хотя это мелочи и зависит от задачи.


У них по логике всё верно сделано, просто счётчик доходит до значения N, где в массиве лежат определённые индексы, а потом идёт дальше и всё. Ошибок не будет. И рэндомность тоже, судя по первому сообщению, не нужна - нужно редиректить конкретные клики, а не случайные.
цитата
20/10/09 в 22:29
 Dr.Syshalt
A не может какую-то софтину - типа ATL3 или stream - заглючить от имени куки "с_count"? Тем более - стрим софтина пэхэпэшная, а там есть такая неприятная штука как register_globals, которая наверняка "On".. а там внутри какая-нибудь непроинициализированная переменная $c_count.

Может, попробовать переименовать ее в "my_special_christmas_cookie"?

Но, вполне возможно, Corex прав насчет относительного редиректа.


Эта страница в полной версии