Foros del Web » Programando para Internet » PHP »

saben que pasa?

Estas en el tema de saben que pasa? en el foro de PHP en Foros del Web. Hola, mira tengo esto: <input name="box" type="checkbox" value="1"> <input name="box2" type="checkbox" value="1" <? if ($box==1) echo checked ?> > y me aparece cuando corro el ...
  #1 (permalink)  
Antiguo 17/06/2002, 06:41
 
Fecha de Ingreso: junio-2002
Mensajes: 35
Antigüedad: 15 años, 5 meses
Puntos: 0
saben que pasa?

Hola, mira tengo esto:
<input name="box" type="checkbox" value="1">
<input name="box2" type="checkbox" value="1" <? if ($box==1) echo checked ?> >

y me aparece cuando corro el servidor este mensaje:
Warning: Undefined variable: box in c:\apache\htdocs\jjvesga\prueba2.php on line 10
>

Sabes que estoy haciendo mal??



Doomsday-ß
  #2 (permalink)  
Antiguo 17/06/2002, 15:19
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 15 años, 6 meses
Puntos: 7
Re: saben que pasa?

creo que te faltan los "{}"s
yo haria esto
<?php
echo "<input name='box2' type='checkbox' value='1'";
if ($box==1) {
echo " checked";
}
echo ">";
?>
  #3 (permalink)  
Antiguo 17/06/2002, 15:27
 
Fecha de Ingreso: junio-2002
Mensajes: 35
Antigüedad: 15 años, 5 meses
Puntos: 0
Re: saben que pasa?

mickel Gracias, pero mi problema no radica en las llaves, sino en que no puedo capturar el valor del box, pues me aparece que la variable no esta definida ves, si quieres mira de nuevo y entenderas lo que quiero decir, gracias de igual forma.

Doomsday-ß
  #4 (permalink)  
Antiguo 17/06/2002, 16:15
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Re: saben que pasa?

Hola,

El problema esta en que PHP no interpreta el codigo HTML, con lo cual no sabe de la existencia de la variable box. Realmente no se lo que quieres hacer con el codigo que muestras. Si lo que deseas es que el formulario cada vez que actives el checkbox box se active automaticamente el box2, debes usar JavaScript, seria mas o menos asi:
Código:
<input name="box" type="checkbox" value="1" onclick="(this.checked==true?box2.checked=true:box2.cheched=box2.checked);">
<input name="box2" type="checkbox" value="1">
Si lo que quieres es que box2 tenga el mismo estado que box seria algo asi:
Código:
<input name="box" type="checkbox" value="1" onclick="box2.cheched=this.checked;">
<input name="box2" type="checkbox" value="1">
Si lo que quieres es que al rellenar el formulario y enviarlo a esa misma pagina que muestre otra vez el formulario con box2 marcado si box fue marcado antes, esto se haria con PHP y seria:
Código:
<input name="box" type="checkbox" value="1">
<input name="box2" type="checkbox" value="1" <?php if (isset($box)) { if ($box==1) echo 'checked'; } ?> >
La funcion PHP isset() sirve para averiguar su una variable ha sido definida. Se suele usar para tener en un mismo fichero un formulario y el proceso de lo datos introducidos en ese formulario (poniendo en el action del form el mismo fichero y en codigo PHP comprobar con isset() si esta definida la variable del boton de submit).

Recuerda que todo este codigo lo he escrito de memoria y puede que no te funcione si lo pones tal cual, pero creo que te servira de guia.

Espero que esto te sirva de ayuda, y si tienes alguna duda, ya sabes donde ando.

Saludos,

Josemi
  #5 (permalink)  
Antiguo 17/06/2002, 16:23
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 15 años, 6 meses
Puntos: 7
Re: saben que pasa?

aja, dejame ver si te entendi. la idea es que si ya estaba chequeada la checkbox entonces aparezca chequeada, verdad? eso seria...
Código:
<?php
echo "<input name='box2' type='checkbox' value='1'";
if (strlen($box2)>0) {
   echo " checked";
}
echo ">";
?>
a ver checalo
  #6 (permalink)  
Antiguo 17/06/2002, 22:11
 
Fecha de Ingreso: junio-2002
Mensajes: 35
Antigüedad: 15 años, 5 meses
Puntos: 0
Re: saben que pasa?

OK muchas gracias ire a revisar de inmediato, gracias por su atención.

;)

Doomsday-ß
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 21:09.