Foros del Web » Programando para Internet » PHP »

input text vacio pone 0 en BBD

Estas en el tema de input text vacio pone 0 en BBD en el foro de PHP en Foros del Web. Hola, Recurro a éste foro ya que estoy programando un juego que el usuario tiene que cargar datos en input's de tipo text y seleccionar ...
  #1 (permalink)  
Antiguo 10/09/2012, 19:14
 
Fecha de Ingreso: octubre-2011
Ubicación: Argentina
Mensajes: 14
Antigüedad: 12 años, 6 meses
Puntos: 0
input text vacio pone 0 en BBD

Hola,

Recurro a éste foro ya que estoy programando un juego que el usuario tiene que cargar datos en input's de tipo text y seleccionar un radio de varios. Funciona todo bien pero hay un problema:
Al no llenar un input (no es obligatorio llenar todos) envía 0 a la Base de Datos, y ésto me provoca un fallo en los puntos. Es decir, supongamos que vacío suma 3 puntos y con el 0 suma 1 punto al ponerse automático el 0 me provoca el fallo.
¿Alguien sabe a que se debe que al estar vacío el POST devuelva 0? O en su defecto... ¿alguien sabe de una solución?. Estuve buscando y vi un post de un biólogo que tenía el mismo problema, pero no decía una solución (era del 2009 si no recuerdo mal). Si necesitan algún código díganme y lo pongo (no lo pongo porque me parece que no es un error del código si no que es así por defecto)

Muchas gracias a todos por leer.
  #2 (permalink)  
Antiguo 10/09/2012, 19:16
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: input text vacio pone 0 en BBD

1. Muestra la definición de dicha columna de tu BD, debería ser VARCHAR y como DEFAULT NULL y no 0
2. Muestra el código que hace la actualización a la BD, si por ahí conviertes mal el valor puede que seas tu el que le pasa el 0
3. En tu lógica para calcular los puntos podrías comparar, si la columna dice 0, entonces está vacía ambos valores podrían ser equivalentes
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 10/09/2012, 19:26
 
Fecha de Ingreso: octubre-2011
Ubicación: Argentina
Mensajes: 14
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: input text vacio pone 0 en BBD

Gracias por responder:

1. La columna está creada así (he intentado como default NULL y sucedió lo mismo):
`local` int(2) NOT NULL,
`visitante` int(2) NOT NULL,
2. Y la actualización la realizo así:
Código PHP:
Ver original
  1. $fixture = "REPLACE INTO torneo (user_id, fecha, partido, local, visitante) VALUES('" . $_SESSION['real_id']. "', '" . $f . "', '" . $p . "', '". $_POST['f' . $f . '_p' . $p . '_local'] ."', '" . $_POST['f' . $f . '_p' . $p . '_visitante'] . "')";
Donde los 4 resultados son enteros de como máximo 2 caracteres.
3. Puse un mal ejemplo, y ahora que lo releo un tonto ejemplo. 0 y vacio serían distintos. Porque si el usuario no lo completa no sumaría puntos pero si se pone automático 0 y el resultado del partido es 0-0 (por dar un ejemplo) acertaría y sumaría 3 puntos. Espero haberme explicado bien.

¿Cómo me aconsejas que debería crear la columna? Reitero, gracias por tu respuesta.

EDIT:

He intentado hacer "if(empty(var1) || empty(var2))" para saber si estaba vacía y que no envíe la sentencia para ese campo de la tabla. Pero me toma el 0 como empty xD

EDIT2 - SOLUCIONADO:

if(var1 == '' || var2 == '') que saltee la consulta. :D Gracias por leer.

Última edición por julidiablo; 10/09/2012 a las 19:41

Etiquetas: input, vacio, txt, usuarios
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 14:31.