スクリプトの目的: 渡された 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");