Foros del Web » Programando para Internet » PHP »

Tipos de Datos en Formulario

Estas en el tema de Tipos de Datos en Formulario en el foro de PHP en Foros del Web. PHP 5.0 Hola a todos Quisiera saber cómo se puede tomar el tipo de dato real pasado por un formulario a una página PHP. Me ...
  #1 (permalink)  
Antiguo 27/03/2009, 10:54
 
Fecha de Ingreso: diciembre-2004
Mensajes: 48
Antigüedad: 19 años, 4 meses
Puntos: 0
Tipos de Datos en Formulario

PHP 5.0

Hola a todos

Quisiera saber cómo se puede tomar el tipo de dato real pasado por un formulario a una página PHP. Me explico, si en un campo input type="text" se debe ingresar el precio de un producto (10.50), el dato es recibido como de tipo texto (por obvias razones, dada la naturaleza del control). Utilizando las funciones para variables (is_integer(), is_float(), etc.), se reconoce el dato como cadena (obvio) y como número; pero no como decimal (float). Lo mismo sucede con otros tipos de datos (por ejemplo lógicos). Requiero que la página PHP toma los valores de su "tipo real"; en el caso del ejemplo, que "reconozca" 10.50 no solo como cadena y número, sino como decimal.

Desde ya Muchísimas Gracias

--
CG
  #2 (permalink)  
Antiguo 27/03/2009, 11:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Tipos de Datos en Formulario

No es posible esto, todos los datos que vienen por STDIN, son tratados como cadenas, es por eso que tu tienes que hacer manualmente el casting necesario, por ejemplo a float:
Código php:
Ver original
  1. $float = (float) "10.50";

Saludos.
  #3 (permalink)  
Antiguo 27/03/2009, 11:18
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Tipos de Datos en Formulario

imposible, todos los datos recibidos del formulario son strings


Edito: ...

suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 27/03/2009, 11:25
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Tipos de Datos en Formulario

Esa tarea corresponde al programador, es decir, al procesar un formulario debes saber cuales campos y de que tipo son cada uno para hacer las comparaciones y/o conversiones necesarias.

Obviamente con las cadenas no hay mayor problema porque verificas longitud, caracteres invalidos, etc.

HTML no tiene la capacidad de enviar datos logicos, lo mas cercano a eso es el checkbox que envia un valor al estar marcado, de lo contrario no aparece en POST.

Para todos los numeros debes usar varias funciones para revisarlos, dependiendo del tipo de campo esperado:
- is_numeric() para comprobar que solo hay numeros y tal vez signo y punto
- Ver que no haya puntos y usar intval() para convertir a entero
- Ver que solo haya 1 punto, contar las posiciones decimales y usar floatval() para convertir a flotante

Edito: Otra vez llego tarde... pero ahora fue doble
__________________
- León, Guanajuato
- GV-Foto
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 15:36.