Hola a todos es estado buscando una manera de poder darle valor a un checkbox desmarcado o por lo menos en php encontrar la manera de ingresar ese checkbox que no existe :(
la idea es la siguiente
Código HTML:
<form action="Untitled-1.php" method="POST">
<input type="checkbox" name="ch[]" value="no" checked="checked" >
<input type="text" name="n[]" size="12" value="edy">
<input type="text" name="id[]" size="12" value="001">
<br>
<input type="checkbox" name="ch[]" value="si">
<input type="text" name="n[]" size="12" value="Mely">
<input type="text" name="id[]" size="12" value="002">
<br>
<input type="checkbox" name="ch[]" value="si">
<input type="text" name="n[]" size="12" value="Kevin">
<input type="text" name="id[]" size="12" value="">
<br>
<input type="checkbox" name="ch[]" value="si">
<input type="text" name="n[]" size="12" value="Bryan">
<input type="text" name="id[]" size="12" value="004">
<input type="submit" />
</form>
pero el problema es que cuando no marco uno me dice error o si logro que no tire el error desordena la cadena
Código PHP:
if(!empty($_POST['ch'])) {
foreach($_POST['ch'] as $indice => $valorm){
if(isset($_POST['ch'])){
$nombre = $_POST['n'][$indice];
$id = $_POST['id'][$indice];
}
if ($valorm=="si"){
if(empty($id)){
echo"Guardamos: $nombre , estado: $valorm con id: $id<br />";
}else{
echo"Actualizamos: $nombre , estado: $valorm con id: $id<br />";
}
}}
}
foreach($_POST['n'] as $indice => $valorm2){
$id = $_POST['id'][$indice];
ini_set('display_errors','off');
if(empty($valorm2)) {
echo"Guardamos sin check: $valorm2 con id: $id <br />";
}}
El resultado con todos los checkbox activos es el siguiente :
Código Resultado:
Ver originalActualizamos: Mely , estado: si con id: 002
Guardamos: Kevin , estado: si con id:
Actualizamos: Bryan , estado: si con id: 004
un buen resultado pero si por ejemplo desmarco kevin pasa lo siguiente
Código Resultado:
Ver originalActualizamos: Mely , estado: si con id: 002
Guardamos: Kevin , estado: si con id:
aparece Kevin con Si (checkbox) de Bryan siempre que un checkbox no esta toma su lular el siguiente.
Les agradecere su ayuda ya que no encuentro nada que me de una buena solucion.
Nota.
Incluso si coloco disable a un checkbox no es tomado en cuenta tampoco