Comunidad de diseño web y desarrollo en internet online

Validar campos con php

Citar            
MensajeEscrito el 10 Jun 2011 10:47 pm
Hola alguien me podarían echar una mano con la validacion de unos campos
son los siguientes

campo de url
campo de url con imagen

campo de tags
campo de e-mail

bueno principalmente serian esos campos

pd: No estoy pidiendo que me resuelvan el problema si no que me echen una pista, un link
o una pequeña guia.

Saaludos Maxx.

Por MaxiiSan20

Claber

168 de clabLevel



Genero:Masculino  

Montevideo

firefox
Citar            
MensajeEscrito el 11 Jun 2011 02:02 am
¿Podrías decirnos qué restricciones quieres implementar para la validación?.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 11 Jun 2011 03:55 am
en realidad lo que busco son los estandartes de dichas evaluaciones,
a nivel de programasen seria condicionarlo pero la verdad que mi idea de como seria esta muy lejos.
en el tema de e--mail me gustaría que además de verificar si el texto ingresado es correcto osea
que contiene @ y el punto se haga la validacion pop3 que he leído pero realmente nada de materia encontre relevante.
El tema de url ni idea de como seria, meno para que sea una imagen.
Los tags simplemente que cuando termine una palabra aya una coma.
Gracias por el interés saludos Maxx

Por MaxiiSan20

Claber

168 de clabLevel



Genero:Masculino  

Montevideo

firefox
Citar            
MensajeEscrito el 11 Jun 2011 03:38 pm
Bueno, lo que planteas es bastante escabroso.

Me detengo primero en el tema del e-mail ya que es el tema que sí he trabajado directamente.
El problema es que no puedes saber si una dirección de correo electrónico es real a menos que envíes un correo a esa dirección y esperes la respuesta (que además puede que nunca la obtengas).

Sí puedes validar que la cadena de caracteres que te están dando esté bien formada, pero por supuesto esto no te asegura que esa supuesta dirección exista. Lo que está antes del @ puede ser prácticamente cualquier cosa mientras que lo que está después debe ser el nombre de un servidor.

Para saber si una cadena de caracteres es una dirección de correo electrónica bien formada, tengo en mi biblioteca de funciones una que lo hace:

Código PHP :

function is_email($email) {
   $p = '/^[a-z0-9!#$%&*+-=?^_`{|}~]+(\.[a-z0-9!#$%&*+-=?^_`{|}~]+)*';
   $p.= '@([-a-z0-9]+\.)+([a-z]{2,3}';
   $p.= '|info|arpa|aero|coop|name|museum)$/ix';
   return preg_match($p, $email);
}

No la hice yo y no recuerdo de dónde la saqué pero fue la primera que pasó todas las pruebas que le hice. Si regresa "true", la cadena de caracteres es una dirección de correo electrónico bien formada.

Lo que puedes hacer a continuación es *tratar* de verificar que el dominio exista, primero hay que extraer esa parte de la dirección:

Código PHP :

function getEmailHost($email) {
   $coincidencias = Array();
   $res = preg_match("/@(.*?)$/m",$email,$coincidencias);
   return @$coincidencias[1];
}

La función devuelve la parte del dominio de la dirección.
Ahora se podría tratar de saber si ese dominio existe:

Código PHP :

function is_validHost($host) {
   $ip = gethostbyname($host);
   return $ip != $host;
}

La función espera un nombre de dominio y regresa "true" o "false" dependiendo de si existe.
PERO!: lamentablemente esto no te asegura mucho puesto que existe un pequeño detalle. Que el dominio no exista no significa necesariamente que la dirección de correo es falsa. Sea por ejemplo el dominio "example.com" el cual la función regresa "false", sin embargo el dominio "www.example.com" sí existe y sucede que el servidor de correo en "www.example.com" acepta direcciones con el dominio sin "www" delante aunque "example.com" no resuelva a una IP válida. Esto es así porque el dominio "example.com" está reservado pero no asignado a una IP mientras que el dominio "www.example.com" sí está asignado a una IP.
En conclusión, un dominio puede estar reservado pero no estar asignado a una IP.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 14 Jun 2011 02:05 am
Gracias nuevamente Driver voy a probar y te cuento.
Alguna sujerencia para las otras consulras?...
Gracias Saludos Maxxx.

Por MaxiiSan20

Claber

168 de clabLevel



Genero:Masculino  

Montevideo

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.