この簡単なスクリプトを作成して、広告/リンクのクリックをログに記録し、長い URL または特別な文字を含む URL で問題が発生しました。例: ? = リダイレクトを中断し、ドメイン部分のみをロードするなど。
だから私はurlencodeを働かせようとしています。これまでに2つの方法を試しましたが、どちらも機能していません。mysql_query が古くなっていることは知っていますが、まだ学習中です
現在のコード:
<?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 = $_GET['RedirectURL'];
//$FixedURL = urlencode($RedirectURL); // this way didn't work
function url_encode($RedirectURL){ // then tried to use it as a function and no go either.
return urlencode(utf8_encode($RedirectURL));
}
header("Location: $RedirectURL");
?>
データベースのレイアウト:
•Table : ads
•Row : clicks
渡されたリンクの例:http://yourdomain.com/clickcounter.php?AdID=43&RedirectURL=http://stackoverflow.com
トラブルリンクの例:https://www.demoexample.com/index.aspx?d=111&prog_id=tttt