2016-07-26 37 views
-1

$.ajax PHPファイル(microsubs.php)の呼び出しを実行しようとしていますが、人がIP範囲内にいるかどうかを確認する必要があります。以下は、PHPのコードです:PHP関数呼び出し後のAjax成功パラメータ

$.ajax({ 
    url: "/microsub.php", 
    method: 'GET', 
    success: function(){ 
    } 
}); 

私は人がPHPでIPレンジ機能が実行中であるかどうかを確認するためにsuccessコールバックには何を入れてください:

$ip = $_SERVER['REMOTE_ADDR']; 

$public_ip_ranges = array(); 

$range = (object) array(); 
$range->name = '123 Media'; 
$range->lower = '10.1.0.0'; 
$range->upper = '10.1.255.255'; 
$public_ip_ranges[] = $range; 

$range = (object) array(); 
$range->name = '123 media 3'; 
$range->lower = '141.228.0.0'; 
$range->upper = '141.228.255.255'; 
$public_ip_ranges[] = $range; 

$range = (object) array(); 
$range->name = 'vaerrrrrr'; 
$range->lower = '146.127.0.0'; 
$range->upper = '146.127.255.255'; 
$public_ip_ranges[] = $range; 

if (($lngIP=ip2long($ip)) < 0) $lngIP += 4294967296; 

foreach ($public_ip_ranges as $ip_range) { 
    if (($lngLow=ip2long($ip_range->lower)) < 0) $lngLow += 4294967296; 
    if (($lngHigh=ip2long($ip_range->upper)) < 0) $lngHigh += 4294967296; 
    if($lngIP >= $lngLow and $lngIP <= $lngHigh) { 
     ?> 

そして、以下は私のAjaxの呼び出しですファイル? PHPで

+3

あなたはAJAXを介して返品を得るためにPHPで何かをエコーする必要があります。それでは '成功:function(response){...' [PHPのエコーは 'response'にあります。](http://jayblanchard.net/basics_of_jquery_ajax.html) –

+2

分かりやすいコードインデントが良い考えです。それは [コーディング標準を簡単に見てみましょう](http://www.php-fig.org/psr/psr-2/ **私たちは、コードを読んで、もっと重要なこと、それは**あなたのコードをデバッグするのに役立ちます助けます)あなた自身の利益のために。あなたはこのコード を数週間/数ヶ月で修正するように頼まれるかもしれません。そして、あなたは私に最後に感謝します。 – RiggsFolly

+0

孤立した中括弧( '{')やスクリプトタグ( '?>')のような、あなたのコードにはほとんど構文エラーがありません。 – dakab

答えて

1

あなたの結果をエコー:IPが範囲内にある場合など1のために:JavaScriptで

if($lngIP >= $lngLow and $lngIP <= $lngHigh){ 
    echo 1; 
}else{ echo 0} 
exit; 

、結果を読んで、あなたがそれで欲しいものを行う:

$.ajax({ 
    url: "/microsub.php", 
    method: 'GET', 
    success: function (data){ 
     var inRange = (+data===1); 
    } 

}); 
+0

これは何ですか?var inRange =(+ data === 1); '? –

関連する問題