問題/原因:
この行だから
// random number 1 - 100 $result_random = rand(1, 100);
コメントアウトされています、
この行
if($result_random <= 70){
そしてこの行
else if($result_random <= 90){
次の行でエラーが発生しますUndefined Variable $result_random in line X
あなたのコード@Codepad.org/saPRtKPU
(更新:わかりました。エラーは発生していませんが、が未定義であるため、毎回$result_random
最後のelse
(ads3)ケースのみが実行されます。未定義の変数は値http://codepad.org/vVHMrWklを保持します)NULL
解決:
この行を変更します
// random number 1 - 100 $result_random = rand(1, 100);
に
// random number 1 - 100
$result_random = rand(1, 100);
つまり、前に改行/キャリッジリターン(EnterWindowsの場合)を挿入します$result_random....
問題は解決するはずですが、今なら、表示されている正確なエラーメッセージを投稿してください。
ところで、スクリプトの3つのSRCはすべて同じhttp://myads.com/
です。これは単なる例だと思いますが、それでも、テスト中は、真のランダムな結果が得られているかどうかを知ることはできません。そこで、それぞれのURLにad1
、ad2
を追加しました。ad3
完全なコード:
<?php
// random number 1 - 100
$result_random = rand(1, 100);
// if result less than or equal 70, display ad1 (70%)
if($result_random <= 70){
echo "<script type='text/javascript' src='http://myads.com/ad1'></script>";
} // if result less than or equal 90, display ad2 (20%)
else if($result_random <= 90){
echo "<script type='text/javascript' src='http://myads.com/ad2'></script>";
}// if result less than or equal 100, display ad3 (10%)
else {
echo "<script type='text/javascript' src='http://myads.com/ad3'></script>";
}
//Just for testing
echo "\r\nRandom Number is: ".$result_random;
ライブデモ@Codepad.orghttp://codepad.org/oymuBk8w