Foros del Web » Creando para Internet » HTML »

Envio POST valores false

Estas en el tema de Envio POST valores false en el foro de HTML en Foros del Web. Hola a todos, me estreno en este foro del que estoy aprendiendo mucho.Tengo un formulario que envio mediante un POST a una pagina PHP para ...
  #1 (permalink)  
Antiguo 27/11/2009, 02:57
 
Fecha de Ingreso: octubre-2009
Mensajes: 4
Antigüedad: 14 años, 5 meses
Puntos: 0
Envio POST valores false

Hola a todos, me estreno en este foro del que estoy aprendiendo mucho.Tengo un formulario que envio mediante un POST a una pagina PHP para su pocesamiento. Uno de los campos es un chekbox, si el chekbox es true lo recibo en el php para su procesamiento pero si es false no me llega al php. La linea HTML donde defino el campo chekbox es:
Código HTML:
 <input type="checkbox" name="Suscriptor" 	size="1" value="1" onclick="if (this.value=1) this.value=1 else this.value=0 " > 
¿Como puedo hacer para que me llegue el campo al php con el valor false?
Gracias por vuestras sugerencias.
Saludos.
  #2 (permalink)  
Antiguo 27/11/2009, 05:41
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Envio POST valores false

no comprendo porque queras hacerlo asi pero ponlo de esta manera. olvidate cambiarle el valor para que php lo reciba como false o true. mas bien, cuando obtengas los datos en php revisa si Suscriptor existe entre los valores enviados. si existe, quiere decir que entonces es true, pero si no existe entonces es false. no tengo mucha idea de php pero quizas sea asi.
Código:
if(isset($_POST['Suscriptor'])){
// el usuario marco el checkbox Suscriptor;
} else{
// el usuario no marco el checkbox;
}
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 27/11/2009, 06:06
 
Fecha de Ingreso: noviembre-2009
Mensajes: 9
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Envio POST valores false

No se puede recibir valores de los checkbox cuando no estan seleccionados, porque los campos dejan de existir. Lo que puedes hacer es validar el valor cuando lo recives:
Tu checkbox:
<input type="checkbox" name="Suscriptor" value="1">

Recibir valor:
$valor = ($_POST["Suscriptor"] != "") ? $_POST["Suscriptor"] : "0";

explicación: si el checkbox esta seleccionado va a tener el valor 1 por lo tanto es distinto de "" (vacio) y se le asigna su valor a la variable $valor, si no esta seleccionado entonces no existe y va a tener el valor "" (vacio), en ese caso se le asigna "0";
  #4 (permalink)  
Antiguo 27/11/2009, 06:19
 
Fecha de Ingreso: octubre-2009
Mensajes: 4
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Envio POST valores false

A veces las soluciones mas sencillas son las mas dificiles de ver.
Queria que el campo False fuera en el POST para evitar hacer un comparación de ese tipo,, ya que el numero de campos checkbox que que se envian con mi formuario es variable. Con la solución que me das me obliga a recorrer el POST en busca de los campos ausentes, si fueran los false en el POSt me evitaria ese bucle.
Gracias por la respuesta
  #5 (permalink)  
Antiguo 27/11/2009, 06:24
 
Fecha de Ingreso: octubre-2009
Mensajes: 4
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Envio POST valores false

Vaya cuando le respondia a zerokilled me contestaba edgherna.
La solución que propone edgherna es mas o menos lo que estaba haciendo antes de consultarlo en el foro , pero como le conteste a zerokilled el numero de checkbox es variable y seria mas sencillo incluir los chekbox false en el $POST.
Saludos y gracias.
  #6 (permalink)  
Antiguo 27/11/2009, 06:35
 
Fecha de Ingreso: noviembre-2009
Mensajes: 9
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Envio POST valores false

Tabién prodrías usar un radio button en vez de un checkbox si esta entre tus opciones, con lo que te podrias ahorrar el bucle de la siguiente forma:

<INPUT type="radio" checked name="Suscriptor" value='1'> Si
<INPUT type="radio" name="Suscriptor" value='0'> No

Asi cuando tomes el valor del post:
$valor = $_POST["Suscriptor"];

Te tomará el valor del que este seleccionado, eso si debes dejar uno seleccionado por defecto para obligar al usuario a seleccionar una de las dos opciones, porque si no, los campos no van a existir, pasa lo mismo que con los checkbox cuando no estan seleccionados.
  #7 (permalink)  
Antiguo 28/11/2009, 06:34
 
Fecha de Ingreso: octubre-2009
Mensajes: 4
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Envio POST valores false

Pues con un 'radio' en vez de un 'checkbox' me soluciono mucho la vida.
Gracias edgherna, los novatos a veces queremos hacer dificil lo mas fácil
Saludos.
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 22:36.