Foros del Web » Programando para Internet » PHP »

Validar cajas de texto en un formulario POST

Estas en el tema de Validar cajas de texto en un formulario POST en el foro de PHP en Foros del Web. Estimados amigos: Probablemente PHP sea muy facil para ustedes, mi problema es que deseo validar una caja de texto en un formulario POST para que ...
  #1 (permalink)  
Antiguo 02/02/2006, 15:17
Avatar de El_Aprendiz  
Fecha de Ingreso: febrero-2005
Mensajes: 152
Antigüedad: 19 años, 2 meses
Puntos: 0
Validar cajas de texto en un formulario POST

Estimados amigos:

Probablemente PHP sea muy facil para ustedes, mi problema es que deseo validar una caja de texto en un formulario POST para que este solamente reciba numeros y NO letras, debo aclarar que el campo al cual hace referencia dicha caja de texto es de tipo "varchar".

Gracias por su tiempo
atentamente
"El_Aprendiz"
  #2 (permalink)  
Antiguo 02/02/2006, 15:28
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
necesitás expresiones regulares.

creo que lo que buscás es algo como:

ereg("[^0-9]", $cadena_que_viene_del_formulario);

si eso no devuelve falso, quiere decir que en la cadena hay caracteres que no son números.

Pero probalo, porque no soy muy bueno en el tema de las expresiones regulares.


Saludos.
  #3 (permalink)  
Antiguo 02/02/2006, 15:30
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
aunque también podés usar is_int() si querés que sea entero, o is_float() si querés que sea real.

Aunque con datos de formularios lo que tenés que usar es is_numeric()

Bueno, depende de vos cómo lo hagas.
  #4 (permalink)  
Antiguo 03/02/2006, 04:00
 
Fecha de Ingreso: enero-2006
Mensajes: 22
Antigüedad: 18 años, 3 meses
Puntos: 0
Normalmente las validaciones se hacen primero en el cliente mediante Javascript, ya que así te ahorras mucho trasiego entre el cliente y servidor. Una vez los datos validados ya se realiza el submit y en la parte del servidor ("php") para más seguridad puedes volverlos a validar.
No sé si sabrás mucho de Javascript, pero lo que has de hacer es asociarle al input un evento e indicar la funcion que se ejecutará cuando se produzca el evento. Tip: onkeypress

Para la comprobación en el lado del servidor ("PHP") se hace mediante la funcion is_nan. Url: es.php.net/manual/es/function.is-nan.php
Te recomiendo que te pases por el foro de Javascript.

Salu2.
  #5 (permalink)  
Antiguo 03/02/2006, 23:02
Avatar de El_Aprendiz  
Fecha de Ingreso: febrero-2005
Mensajes: 152
Antigüedad: 19 años, 2 meses
Puntos: 0
Perdonen la ignorancia pero no se nada de Javascript, lo que realmente necesito que en una cajita de texto en un formulario Post no acepte letras solo numero, Por ejemplo se desea introducir un codigo "3452" debe aceptarlo sin problemas, pero si el usuario teclea "maria" no debe de salir nada ya que solamentese pueden digitar numeros.
Gracias
espero me comprendan
  #6 (permalink)  
Antiguo 04/02/2006, 03:37
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola El_Aprendiz

Supongo que este mensaje acabará en el foro de JavaScript, pero aprobechando que pasaba por aquí, te recomiendo que utilizes la FAQ-232

Saludos,
  #7 (permalink)  
Antiguo 06/02/2006, 05:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Cita:
Iniciado por El_Aprendiz
Perdonen la ignorancia pero no se nada de Javascript, lo que realmente necesito que en una cajita de texto en un formulario Post no acepte letras solo numero, Por ejemplo se desea introducir un codigo "3452" debe aceptarlo sin problemas, pero si el usuario teclea "maria" no debe de salir nada ya que solamentese pueden digitar numeros.
Gracias
espero me comprendan
Lo que debes comprender de PHP es que es un lenguaje del lado del servidor .. toda acción a "validar" antes de que TU envies tu formulario (le des a tu botón de "submit") se origina en el "cliente" y .. el "cliente" entiende lenguajes como javascript.

Esto no es sólo válido para PHP .. sino para todo lenguaje del lado del servidor como ASP, PHP, Perl .. por poner ejemplos. Creo que si comprendes esto, te será más facil enfocar tu busqueda de solución por el lado adecuado.

De hecho lo que propones se solventa con javascript y la solución ya te la dejó JavierB .. Si te fijas algo comparten ambas soluciones de PHP y de Javascript: usan expresiones regulares.

A todo esto .. pese que "valides" tus datos en el "lado del cliente" vía javascript SIEMPREEEE! debes de validar en última instancia tus datos en el "lado del servidor" .. es decir en PHP. Aunque esto te parezca "redundante". La validación en "javascript" te aporta "usabilidad" a tu aplicación .. pero la "seguridad" final de que ese dato sea del formato/tipo que necesitas y así debe quedar en tus BD o donde lo proceses la va a dar PHP como lenguaje del lado del servidor.

Por lo demás .. lo que menos interesa a nivel de validaciones aquí en este caso es si tu campo de tu BBDD donde almacenarás ese dato es un "varchar" o no .. El formato/tipo de dato tu ya lo has definido. Aunque si validas ese dato y exiges que sea tipo "numérico" no sé por qué en tu BBDD almacenas ese dato en un campo de tipo "alfanúmerico" .. quedaría más optimizado tu BBDD si usases un tipo numérico (INT, o el que más se ajuste a tus necesidades).

Un saludo,
  #8 (permalink)  
Antiguo 06/02/2006, 12:05
Avatar de El_Aprendiz  
Fecha de Ingreso: febrero-2005
Mensajes: 152
Antigüedad: 19 años, 2 meses
Puntos: 0
Te agradezco mucho Cluster tienes razón, con respecto a tipo de campo, pero como ya dijistes la solucion es la de JavierB ya lo probe y me funciono, gracias por todo a todos PROBLEMA RESUELTO.
  #9 (permalink)  
Antiguo 06/02/2006, 12:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Se te olvidó tener en consideración tal vez la última validación en PHP .. Fijate si tu usuario tiene desactivado javascript en su navegador o peor, es malintencionado y ataca directamente tu script PHP inyectando esos datos sin "validación javascript" alguna.

Un saludo,
  #10 (permalink)  
Antiguo 03/01/2007, 14:52
 
Fecha de Ingreso: enero-2007
Mensajes: 2
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: Validar cajas de texto en un formulario POST

hola!! también soy nuevo en PHP, me gustaría que alguienme hiciera el favor de asesorarme; hasta el momento estoy tratando de hacer que al presionar un boton se guarde información en la base de datos SQL, pero quiero validar las cajas de texto de tal forma que no me acepte ninguna vacía... como puedo hacer eso? claro la validación ocurre después de presionar el botón
  #11 (permalink)  
Antiguo 03/01/2007, 17:36
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: Validar cajas de texto en un formulario POST

No es recomendable 'revivir' temas viejos con preguntas nuevas, sería mejor que abrieras un tema nuevo.

Pero en fin, lo que necesitás lo podés hacer con

empty($cadena) (devuelve verdadero si $cadena está vacía)
strlen($cadena) (devuelve el largo de la cadena)

quizás te sirva también el uso de trim(), que elimina espacios en blanco al final y al principio de la cadena (el caso es que ' ', cadena que contiene 3 espacios, no está vacía estrictamente hablando, pero seguro que no es algo que quieras que se ingrese.

Te recomiendo revisar las respectivas páginas del manual oficial:

www.php.net/empty
www.php.net/strlen
www.php.net/trim


Saludos.
  #12 (permalink)  
Antiguo 27/11/2007, 14:40
 
Fecha de Ingreso: noviembre-2007
Mensajes: 20
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Validar cajas de texto en un formulario POST

me gustaria validar cajas pero que solo me ingrese letras (no importando si fuesen mayusculas o minusculas) y espacios, nada mas, gracias nos vemos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:22.