Маленькая
партнёрская программа каждому
[Автор] : Роман
Грановский
Представим такую ситуацию: вы
заниматесь разного вида услугами,
тем же хостингом например. Рано или
поздно встает вопрос о более
качественной раскрутке проекта.
Предлагаем вам создать Партнерскую
Программу Lite с помощью
интерпретатора Perl. Для начала
продумаем Алгоритм: Пользователь
кликает по ссылке с другого сайта,
попадает на ваш сайт, заказывает
товар - вот вам и клиент. Сразу
появляется два вопроса, как узнать,
кто привел клиента?
Давайте разберем более детально:
допустим вашего партнера зовут Вася,
попросим его разместить код такого
вот баннера
<a
href="http://mysite.ru/cgi-bin/index.cgi?id=vasya><img
src=http://mysite.ru/banner.gif width=468 height=60></a>
Сама ссылка вида index.cgi?id=vasya указывает,
что переменная ID равняется Вася.
Человек кликнув по ссылке попадает
на главную страницу вашего сайта.
Теперь пропишем в файле index.cgi ссылку
на старницу заказов, впишем print "Заказать
Это при условии что мы в начале
скрипта использовали:
if ($ENV{'REQUEST_METHOD'} eq "POST")
{
read(STDIN, $bufer, $ENV{'CONTENT_LENGTH'});
}
elsif ($ENV{'REQUEST_METHOD'} eq "GET")
{
$bufer=$ENV{'QUERY_STRING'};
}
@pairs = split(/&/, $bufer);
foreach $pair (@pairs)
{
($name, $value) = split(/=/, $pair);
$name =~ tr/+/ /;
$name =~ s/%([A-Fa-f0-9]{2})/pack("c",hex($1))/ge;
$value =~ tr/+/ /;
$value =~ s/%([A-Fa-f0-9]{2})/pack("c",hex($1))/ge;
$value =~ s/<!--(.|\n)*-->//g;
$value =~ s/\;/;/g;
$value =~ s/\Ўь//g;
$value =~ s/\&LT; g;
$value =~ s/\>/>/g;
$value =~ s/\\//g;
$value =~ s/\n/
/g;
$FORM{$name} = $value;
}
Проще говоря каждую переменную можно
определять теперь как $FORM{переменная},
т.е. если смотреть index.cgi?id=vasya, и потом
сделать
print "$FORM{id}";
Перл выдаст "vasya"
Так вот, кликнув по ссылке
zakaz.cgi?id=$FORM{id} Человек попадет на форму
заказа.Допустим сама форма имеет вид
4 текстовых полей. например
print ' <form
action="http://mysite.ru/cgi-bin/zakaz2.cgi"
method="post">
<input type="text" name="pole1"
size="14" maxlength="256">
<input type="text" name="pole2"
size="14" maxlength="256">
<input type="text" name="pole3"
size="14" maxlength="256">
<input type="text" name="pole4"
size="14" maxlength="256">
<input type="button" value="OK">
</form>';
Чтобы узнать, кто привел человека
добавим скрытое поле hidden:
<input type=\"hidden\" name=\"id\"
value=\"$FORM{id}\">
Теперь в файле заказа просто добавим
переменную $FORM{id} где нужно и все
готово! Удачи вам
|