Исходящие партнерские ссылки: N-й клик идет в дом - PullRequest
0 голосов
/ 18 апреля 2011

PHP или JQuery способ изменения исходящих ссылок при каждом N-м клике.

Например:

Посетитель1 щелкает ссылку LinkA - его переводят на http://google.com
Посетитель2 щелкает ссылку LinkA - их переводят на http://google.com
Посетитель3 щелкает ссылку LinkA - их переводят на http://google.com
Посетитель4 щелкает ссылку LinkA - Они попадают на http://yahoo.com
Посетитель 5 щелкает ссылку LinkA - они попадают на http://google.com
Посетитель6 щелкает ссылку LinkA - они попадают на http://google.com
Посетитель7 нажимает на LinkA - они попадают на http://google.com
Посетитель8 щелкает ссылку LinkA - его перенаправляют на http://yahoo.com
Посетитель9 щелкает ссылку LinkA - они попадают на http://google.com
Посетитель10 щелкает ссылку LinkA - его перенаправляют на http://google.com
Visitor11 нажимает на LinkA - они попадают на http://google.com
Посетитель12 щелкает ссылку LinkA - их переводят на http://yahoo.com

Какие есть хорошие способы сделать это?

Ответы [ 2 ]

3 голосов
/ 18 апреля 2011

Самый разумный подход заключается в том, чтобы сделать это в PHP - потому что вам нужно убедиться, что вы ведете глобальный подсчет кликов, и поэтому вы не можете сделать это в клиенте.

Таким образом, ваша исходная страница будет иметьчто-то вроде:

<a href="/forward.php?id=1">site 1</a>
<a href="/forward.php?id=2">site 2</a>
<a href="/forward.php?id=3">site 3</a>
<a href="/forward.php?id=4">site 4</a>

Сделайте так, чтобы ваш файл PHP записывал количество кликов и возвращал местоположение на основе этого.Примерно так в псевдокоде:

// connect to database

// find the count of clicks for site with id=X, and increment it

// if clicks % N == 0 
//    redirect to http://example.com/
// otherwise
//    redirect to http://example.org/

Перенаправление должно быть простым:

 <?php
   header( 'Location: http://example.com/' ) ;
 ?>

В вашей базе данных будет таблица типа:

[link id][click count]

Youможет также иметь ссылки цели, но это может быть более сложным, чем вам нужно ..

0 голосов
/ 18 апреля 2011

Нет простого способа сделать это на клиенте.Помните, что jQuery работает на клиенте, а не на сервере.Каждый посетитель получает файл с сервера.Клиенты не могут общаться друг с другом.

Есть два способа решить эту проблему, а не клиентский способ проще.Для ссылки поместите URL-адрес на ваш сервер, а затем на своем сервере проверьте, куда вы хотите перенаправить этого клиента, и отправьте перенаправление обратно в браузер, чтобы перейти к цели.

Способ жесткого клиента с использованиемjQuery будет работать следующим образом: когда пользователь нажимает на ссылку, выполняет ajax-вызов, чтобы увидеть, куда перенаправить, а затем загрузить эту страницу с локального клиента.

В обоих случаях сервер отслеживает количество кликов.просил.

...