2016-08-09 3 views
0

Ich habe eine IP-Bereich PHP-Funktion, die mit 1 reagiert, wenn ip in Reichweite ist.Php Antwort in Ajax

Php:

<? 
$ip = $_SERVER['REMOTE_ADDR']; 

$public_ip_ranges = array(); 

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

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

$range = (object) array(); 
$range->name = 'Barcap'; 
$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) { 
     echo 1; 
    } 

} 

?> 

Ich habe Ajax auf diese Datei beziehen, aber was ich möchte zu tun ist, wenn PHP 1 die Funktion Echo dann Anzeige x Text anderes Display Y Text.

Ajax:

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

     }); 

So würde Ich mag die Antwort von der php nehmen und Anzeigetext Alarm sonst

+0

Und deine Frage ist ...? Diese Website ist für Fragen gedacht, nicht für die Ausgabe von To-Do-Listen. –

+0

Sie könnten so etwas in Ihrem 'success: function (data)' Teil versuchen: 'if (data == 1) {// tue etwas, weil die IP im Bereich ist} else {// mach etwas anderes, weil die IP ist nicht im Bereich} '. Es ist, als ob Marc sagt, wir brauchen deinen Code, um dir zu helfen. – Henders

+0

was auch immer Sie Echo wird in Daten gespeichert werden – coder

Antwort

1

wenn nicht anders Textalarm angezeigt werden Sie können (die 1, wenn in Bereich Echo sollte) Einen Fehler zurücksenden:

$isPublic = true; 
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; 

    $isPublic = ($lngIP >= $lngLow) && ($lngIP <= $lngHigh) && $isPublic; 
} 

if(!$isPublic) { 
    header("HTTP/1.0 404 Not Found"); 
} 

echo $isPublic;