これは私のPHPコードです。基本的にユーザーの国を確認し、許可されている国と一致する場合は、アフィリエイトコードを実行させます。まあ、それは私が他を追加したときに、変数をチェックする場合、私は米国として$出力を持って、$ _SESSIONので、私は、ORビットに問題があると思いステートメントが正しく実行されていない場合
<?php
$output = shell_exec('geoip-lookup '.$_SERVER['REMOTE_ADDR']);
if($_SESSION['check']!= 1 && ($output == 'US' || $output== 'AU' || $output== 'GB' || $output== 'CA'))
{
$submission = $_POST['submission_id'];
$_SESSION['check']=1;
echo '<div class="shareasale"><img src="https://shareasale.com/sale.cfm?amount=0.00&tracking=';
echo $submission;
echo '&transtype=lead&perlead=25.00&merchantID=###" width="1" height="1"></div>';
}
?>
を実行していない何らかの理由で[「チェック」]空白としてつまり、if文が正しく実行されているはずです。
これはなぜ動作しないのですか?
正確には動作しません。ステートメントとステートをコード内のさまざまな場所に出力してデバッグしようとしましたか? –
"実行していない"とき、 '$ _SESSION ['check']'と '$ output'の' var_dump'は何ですか? 'if'文の直前に、' var_dump($ _ SESSION ['check']、$ output); ' – webbiedave
$出力でtrimを使ってみましたか?多分あなたはあなたのブラウザで見ているものの前後に新しい行やスペースを持っているかもしれません。 – mishu