0

スクリプトの目的: 渡された URL と AdID を取得し、データベースでカウントしてから、渡された URL にユーザーを渡します。

仕組み: リンクがスクリプトに渡されると、AdID が取得され、クリックがデータベース行 +1 に記録され、リンクにリダイレクトされます。データベースのレイアウト:

  • 表 : 広告
  • 行: クリック

渡されたリンクの例: http://yourdomain.com/clickcounter.php?AdID=43&RedirectURL=http://stackoverflow.com

問題: 特別な文字を含む URL を渡していません。以下のような ?または &

  • 明らかな問題: まだ mysql_query を使用しています。新しい mysqli の方法をまだ完全には学んでいない

トラブルリンク例: https ://www.demoexample.com/index.aspx?d=111&prog_id=tttt

他の人へのメリット: 他の人がこのスクリプトを使用して、私が行っていることを実行できます。リンク/広告/任意の URL がクリックされた回数をカウントして、リンク/広告の使用状況/クリック数を測定します。

<?php
require('config.php');

    // Update Ad Pull/Display count
    $AdID= mysql_real_escape_string($_GET['AdID']);
    $UpdateADHitDisplay = mysql_query("UPDATE ads SET clicks = clicks +1 WHERE ID = '$AdID'");

    // Get Redirection Inforamtion
    $RedirectURL = mysql_real_escape_string($_GET['RedirectURL']);
    header("Location: $RedirectURL");

?>

これをurlencodeで完全に行う方法がわかりません。ここで試したのは.

// Get Redirection Inforamtion
$RedirectURL = $_GET['RedirectURL'];
//$FixedURL = urlencode($RedirectURL); // didn't work
    function url_encode($RedirectURL){ // then i tried to create a function. it pases the first part of the url, but nothing past the first ? or special char
 return urlencode(utf8_encode($RedirectURL));

} header("場所: $RedirectURL");

4

1 に答える 1

2

リンク内のパラメーターRedirectURLの値は、urlencodedmysql_real_escape_string()する必要があり、$RedirectURL変数は必要ありません。

于 2012-11-16T03:17:26.213 に答える