0

アウトバウンドリンクをN回クリックするたびに変更するPHPまたはJQueryの方法。

例えば:

ビジター1がLinkAをクリック-ビジター2がLinkAをクリック-ビジター3がLinkAをクリック-
ビジター3がリンク
Aをクリック-ビジター
4クリックLinkAで-彼らはhttp://yahoo.com
に連れて行かれますVisitor5はLinkAでクリックします-彼らはhttp://google.com
に連れて行かれます Visitor6はLinkAでクリックします-彼らはhttp://google.com
に連れて行かれます Visitor7はLinkAでクリックします-彼らはhttp://google.comに連れて行かれます
Visitor8はLinkAにクリックします-彼らはhttp://yahoo.comに連れて行かれますVisitor9はLinkAにクリックします-彼らはhttp://google.com
に連れて行かれます Visitor10はLinkAにクリックします-彼らはに連れて行かれる
http: //google.comVisitor11
がLinkAをクリック-http: //google.comに移動Visitor12がLinkAをクリック-http
://yahoo.comに移動

これについて行くためのいくつかの良い方法は何ですか?

4

2 に答える 2

3

最も健全な方法は、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]

そこにリンク ターゲットを配置することもできますが、必要以上に複雑になる可能性があります。

于 2011-04-17T22:40:04.963 に答える
0

クライアントでこれを行う簡単な方法はありません。jQuery はサーバーではなくクライアントで実行されることに注意してください。各訪問者はサーバーからファイルを取得しています。クライアントは互いに通信できません。

これを解決するには 2 つの方法があります。非クライアントの方法の方が簡単です。リンクについては、サーバーにURLを配置してから、サーバーで、このクライアントをリダイレクトする場所を確認し、リダイレクトをブラウザーに送信してターゲットに移動するかどうかを確認します。

jQuery を使用したハード クライアントの方法は次のようになります。ユーザーがリンクをクリックすると、ajax 呼び出しを実行してリダイレクト先を確認し、ローカル クライアントからそのページをロードします。

どちらの方法でも、要求されたクリック数をサーバーに追跡させる必要があります。

于 2011-04-17T22:44:15.427 に答える