Foros del Web » Programando para Internet » PHP »

conservar cheked de checkbox

Estas en el tema de conservar cheked de checkbox en el foro de PHP en Foros del Web. Hola gente como podria hacer para conservar los valores seleccionados de un un grupo de checkbox que envio por serialize tengo esto <input type="checkbox" name="prioridades[]" ...
  #1 (permalink)  
Antiguo 23/09/2014, 17:47
 
Fecha de Ingreso: febrero-2011
Mensajes: 167
Antigüedad: 13 años, 2 meses
Puntos: 9
conservar cheked de checkbox

Hola gente como podria hacer para conservar los valores seleccionados de un un grupo de checkbox que envio por serialize
tengo esto
<input type="checkbox" name="prioridades[]" value="5" class="check">&nbsp;5
<input type="checkbox" name="prioridades[]" value="4" class="check">&nbsp;4
<input type="checkbox" name="prioridades[]" value="3" class="check">&nbsp;3
<input type="checkbox" name="prioridades[]" value="2" class="check">&nbsp;2
<input type="checkbox" name="prioridades[]" value="1" class="check">&nbsp;1
cuando elijo solo uno me parece seleccionado , pero cuando seleciono uno mas no me deja, a no ser que deselecione el anterior y
recien alli puedo seleccionar , alquien podria orientarme en gracias de antemano ?
$prioridades = $_REQUEST[prioridades];
foreach($prioridades as $value){
if($value=='1'){$cad1='<input class="check" checked = "checked" type="checkbox" value="1" name="prioridades[]">&nbsp;1';}else{$cad1='<input class="check" type="checkbox" value="1" name="prioridades[]">&nbsp;1';}
if($value=='2'){$cad2='<input class="check" checked = "checked" type="checkbox" value="2" name="prioridades[]">&nbsp;2';}else{$cad2='<input class="check" type="checkbox" value="2" name="prioridades[]">&nbsp;2';}
if($value=='3'){$cad3='<input class="check" checked = "checked" type="checkbox" value="3" name="prioridades[]">&nbsp;3';}else{$cad3='<input class="check" type="checkbox" value="3" name="prioridades[]">&nbsp;3';}
if($value=='4'){$cad4='<input class="check" checked = "checked" type="checkbox" value="4" name="prioridades[]">&nbsp;4';}else{$cad4='<input class="check" type="checkbox" value="4" name="prioridades[]">&nbsp;4';}
if($value=='5'){$cad5='<input class="check" checked = "checked" type="checkbox" value="5" name="prioridades[]">&nbsp;5';}else{$cad5='<input class="check" type="checkbox" value="5" name="prioridades[]">&nbsp;5';}
}
$cadena_interaccion_prioridad=$cad5.$cad4.$cad3.$c ad2.$cad1;
echo $cadena_interaccion_prioridad;
  #2 (permalink)  
Antiguo 24/09/2014, 04:43
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: conservar cheked de checkbox

Para empezar te pediría que envolvieses el código en su formato correspondiente, porque es imposible leerlo.
Código PHP:
Ver original
  1. $prioridades = $_REQUEST[prioridades];
  2. foreach($prioridades as $value){
  3. if($value=='1'){$cad1='<input class="check" checked = "checked" type="checkbox" value="1" name="prioridades[]">&nbsp;1';}else{$cad1='<input class="check" type="checkbox" value="1" name="prioridades[]">&nbsp;1';}
  4. if($value=='2'){$cad2='<input class="check" checked = "checked" type="checkbox" value="2" name="prioridades[]">&nbsp;2';}else{$cad2='<input class="check" type="checkbox" value="2" name="prioridades[]">&nbsp;2';}
  5. if($value=='3'){$cad3='<input class="check" checked = "checked" type="checkbox" value="3" name="prioridades[]">&nbsp;3';}else{$cad3='<input class="check" type="checkbox" value="3" name="prioridades[]">&nbsp;3';}
  6. if($value=='4'){$cad4='<input class="check" checked = "checked" type="checkbox" value="4" name="prioridades[]">&nbsp;4';}else{$cad4='<input class="check" type="checkbox" value="4" name="prioridades[]">&nbsp;4';}
  7. if($value=='5'){$cad5='<input class="check" checked = "checked" type="checkbox" value="5" name="prioridades[]">&nbsp;5';}else{$cad5='<input class="check" type="checkbox" value="5" name="prioridades[]">&nbsp;5';}
  8. }
  9. $cadena_interaccion_prioridad=$cad5.$cad4.$cad3.$c ad2.$cad1;
  10. echo $cadena_interaccion_prioridad;

En segundo lugar, no utilices $_REQUEST, utiliza en su lugar $_POST o $_GET según estés usando uno u otro, para evitar problemas de seguridad. Si el formulario lo envías por POST y usas REQUEST, se puede manipular fácilmente por GET.

Por otro lado, a priori no parece que haya ningún error, aunque el código se pueda optimizar. A qué te refieres cuando dices "¿No me deja?". Has hecho algún tipo de depuración y visto si te dice algo?

Intenta hacer un var_dump o printr dentro de foreach:
Código PHP:
Ver original
  1. foreach($prioridades as $value) {
  2.  
  3.      var_dump($value);
  4.  
  5. }

¿Qué sale ahí?
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #3 (permalink)  
Antiguo 24/09/2014, 17:29
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 11 años, 11 meses
Puntos: 320
Respuesta: conservar cheked de checkbox

Código PHP:
Ver original
  1. <?php
  2. var_dump($_POST["prioridades"]); // Seria algo asi como [1,3,5]
  3.  
  4. for($value = 1; $value < 6; $value++)
  5.     echo "<input class=\"check\" type=\"checkbox\" value=\"$value\" name=\"prioridades[]\" ".(in_array($value, $_POST["prioridades"]) ? "checked" : "").">&nbsp;$value";
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios

Etiquetas: checkbox, conservar
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 00:55.