Ver Mensaje Individual
  #3 (permalink)  
Antiguo 10/12/2010, 20:41
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 7 meses
Puntos: 1567
Respuesta: Validar Datos de Formulario

Yo acostumbro a validar en el mismo php y no con javascript (el cual puede ser deshabilitado por el usuario).
en la primera parte de tu enunciado tengo una duda, no indicas un numero mínimo en particular, asi que supongo que lo que quieres es que no estén los campos vacios



en tu insertar.php
Código PHP:
Ver original
  1. $mensaje_error = "";
  2. if(isset($_POST[''submit])){ // se hizo el submit
  3.  
  4. ## controlas que los campos no esten vacios, y te agrego por si te sirve que
  5. ### no te psen html en los campos
  6. foreach ($_POST as $campo=>$str){
  7. $valor_campo = strip_tags("$str");  // (1) quitamos probable html de los campos
  8. $valor_campo = stripslashes($valor_campo);
  9. $valor_campo = trim("$valor_campo");// removemos epacios sobrantes al inicio y final de las lineas
  10. $$campo =  $valor_campo ;// !!! creamos una variable por cada nombre del campo del form
  11.  
  12. if ($valor_campo == ""){
  13. $mensaje_error .= "<b>El campo $campo</b> es de uso obligatorio<br />\n";
  14. }
  15. }
  16.  
  17.  
  18. ### ahora el teléfono (6,15) es el numero minimo y máximo de caracteres
  19. if (!empty($telefono)){
  20. $control_telef="/^[0-9]{6,15}$/";
  21. if(!preg_match($control_telef,$telefono)){
  22. $mensaje_error .= "El campo teléfono debe tener entra 6 y 15 números<br />\n";
  23. }
  24.  
  25. ### si hubo algun error entonces el mensaje de eror es distinto de ""
  26.  
  27. if($mensaje_error != ""){
  28. echo "Se detectaron los siguientes errores";
  29. echo "$mensaje_error";
  30. exit();
  31. }


Usando expresiones regulares y preg_match(); podés validar cualquier otra cosa, por ejemplo un email válido

Código PHP:
Ver original
  1. $control_mail="/^[a-z0-9\._-]+@+[a-z0-9\._-]+\.+[a-z]{2,4}$/i";


Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.