Hola de nuevo!
He estado haciendo unas pruebillas con la función, y claro, tengo un problema. Por lo que yo entiendo, al combinar ambas funciones, cuando una Ip no existe, por defecto lo convierte a la dirección 255.255.255.255, no?? entonces, en mi comprobación me diría que la dirección es correcta.
El código que tengo para comprobar es:
Código:
function var_validarIP ($ip)
{
$ip2 = long2ip(ip2long($ip));
//$ip2 = ip2long($ip);
if ($ip)
{
$resp = 0; //correcta
}
else
{
$resp = 1; //error
}
echo 'ip: '.$ip;
echo 'ip2: '.$ip2;
echo 'resp: '.$resp.'<br>';
return $resp;
}
He hecho las siguientes pruebas pasándoles la dirección ip, y os muestro los resultados:
ip: 127.23.44.44ip2: 127.23.44.44resp: 0
ip: dfgvdfgip2: 255.255.255.255resp: 0
ip: 34.56.44.4ip2: 34.56.44.4resp: 0
ip: 33ip2: 0.0.0.33resp: 0
ip: 192.168.56.a34ip2: 255.255.255.255resp: 0
(resp 0 significa correcto...)
¿cómo podría comprobar que el usuario no meta una cadena de caracteres o que, como en el último caso, no se equivoque al escribir, y cosas similares???
¿Alguna idea¿???