Проверка дали е IP

katsar0v

Registered
Направих инпут , как да направя така че да проверя дали в него е въведено само IP
тоест в това поле да се въвеждат IP адреси :)
 
<?php
if(isset($_SESSION['admin']))
{
echo'Добави сървър:<br/>';
$name = htmlspecialchars(mysql_real_escape_string($_POST['name']));
$ip = htmlspecialchars(mysql_real_escape_string($_POST['ip']));
$uptime = htmlspecialchars(mysql_real_escape_string($_POST['uptime']));
echo'<table border=1 style="margin-top:-50px;">
<tr><form action="server.php" method="post"><td>Име:</td><td><input type="text" name="name"/></td></tr><br/><br/>
<tr><td>IP:</td><td><input type="text" name="ip"/></td></tr><br/><br/>
<tr><td>UPTIME:</td><td><input type="text" name="uptime" style="width:15px;"/>/24</td></tr></table><br/><br/><input type="submit" value="Добави"/></form><br/>';
if($name)
{
if(strlen($name)>2)
{ $insertname = true; }
else
{ $insertname = false; }
if(preg_match('/^[0-9]{2,3}+\.[0-9]{1,3}+\.[0-9]{1,3}+\.[0-9]{1,3}+$/', $ip))
{ $insertip = true; }
else
{ $insertip = false; }
if(preg_match('/^[0-2]{0,1}+[0-4]{0,1}/', $uptime))
{ $insertuptime = true; }
else
{ $insertuptime = false;}

if($insertuptime and $insername and $insertip)
{ echo'ok';}
else
{ echo'not ok';}
}
}
else
{
header('location:index.php');
}
?>

Винаги изкарва текста not ok

каква му е грешката :(
 
<?php
if(isset($_SESSION['admin']))
{
echo'Добави сървър:<br/>';
$name = htmlspecialchars(mysql_real_escape_string($_POST['name']));
$ip = htmlspecialchars(mysql_real_escape_string($_POST['ip']));
$uptime = htmlspecialchars(mysql_real_escape_string($_POST['uptime']));
echo'<table border=1 style="margin-top:-50px;">
<tr><form action="server.php" method="post"><td>Име:</td><td><input type="text" name="name"/></td></tr><br/><br/>
<tr><td>IP:</td><td><input type="text" name="ip"/></td></tr><br/><br/>
<tr><td>UPTIME:</td><td><input type="text" name="uptime" style="width:15px;"/>/24</td></tr></table><br/><br/><input type="submit" value="Добави"/></form><br/>';
if($name)
{
if(strlen($name)>2)
{ $insertname = true; }
else
{ $insertname = false; }
if(preg_match('/^[0-9]{2,3}+\.[0-9]{1,3}+\.[0-9]{1,3}+\.[0-9]{1,3}+$/', $ip))
{ $insertip = true; }
else
{ $insertip = false; }
if(preg_match('/^[0-2]{0,1}+[0-4]{0,1}/', $uptime))
{ $insertuptime = true; }
else
{ $insertuptime = false;}

if($insertuptime and $insertname and $insertip)
{ echo'ok';}
else
{ echo'not ok';}
}
}
else
{
header('location:index.php');
}
?>
 
katsar0v каза:
Направих инпут , как да направя така че да проверя дали в него е въведено само IP
тоест в това поле да се въвеждат IP адреси :)

Това би трябвало да ти свърши работа

//function to validate ip address format in php by Roshan Bhattarai(http://roshanbh.com.np)
function validateIpAddress($ip_addr)
{
//first of all the format of the ip address is matched
if(preg_match("/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/",$ip_addr))
{
//now all the intger values are separated
$parts=explode(".",$ip_addr);
//now we need to check each part can range from 0-255
foreach($parts as $ip_parts)
{
if(intval($ip_parts)>255 || intval($ip_parts)<0)
return false; //if number is not within range of 0-255
}
return true;
}
else
return false; //if format of ip address doesn't matches
}
 

Back
Горе