Mi problema es que tengo un listado extraído de una tabla de la base de datos, y en ese listado aparece un campo editable y un checkbox por cada elemento del listado, estos datos tengo que capturarlos en otra página (Donde proceso los datos) y hacer lo que corresponda según se haya tildado el checkbox o no.
Para esto generé dentro del do - while que muestra los elementos de la tabla, un input con nombre concatenado con una variable $i que va incrementando por cada muestra de la base de datos.
Todo lo toma menos el nombre del checkbox en la pagina de procesos... y realmente no me doy cuenta pro qué, si alguien tiene ganas de mirar mi código a ver qué le encuentra se lo agradecería mucho.
El error es que no reconoce el checkbox, cuando trato de rescatar su valor por $_POST[$var] dice que es un indice indefinido.
Pero si pruebo esto con otro de los campos que llegan por POST, los muestra.
Ah! $var="nombre".$i;
Para que al poner $_POST[$var]; tome lo que tiene asociado var.
Bueno, acá adjunto el código:
Código PHP:
<?php session_start();
require_once('../Connections/coninfo.php');
$i=1;?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../estiloprivado.css" rel="stylesheet" type="text/css">
</head>
<body class="bodyuser">
<table width="600" border="0" align="center" cellspacing="1">
<tr>
<td> </td>
</tr>
<tr>
<td class="tituser"><div align="center">Bienvenido <?php echo $_SESSION['nomus'];?> al panel de configuración <br>
</div></td>
</tr>
<tr>
<td class="rowcontenido">Nivel de participación: <?php echo $_SESSION['usuario'];?></td>
</tr>
<?php if( $_SESSION['usuario']=="Administracion"){
//Trae los datos de usuarios
mysql_select_db($database_coninfo, $coninfo);
$Quser = "SELECT idusuario, nombre, nivel FROM usuarios ORDER BY nombre ";
$User = mysql_query($Quser, $coninfo) or die(mysql_error());
$row_User = mysql_fetch_assoc($User);
$totalRows_User = mysql_num_rows($User);
?>
<tr>
<td class="tituser"><div align="center">Usuarios registrados</div></td>
</tr>
<tr>
<td class="rowcontenido"><form name="form2" method="post" action="niveles.php">
<table width="100%" border="1" cellspacing="0" class="tablaborde">
<tr>
<td width="44%"><div align="center">Nombre</div></td>
<td width="38%"><div align="center">Nivel de participación</div></td>
<td width="18%"><div align="center">Eliminar</div></td>
</tr>
<?php do {?>
<tr>
<td><?php echo $row_User['nombre'];?>
<input name="nombre<?php echo $i;?>" type="hidden" id="nombre<?php echo $i;?>"> <input name="Iusuario<?php echo $row_User['idusuario']; ?>" type="hidden" id="Iusuario<?php echo $row_User['idusuario']; ?>"></td>
<td> <select name="nivel<?php echo $i;?>" id="nivel<?php echo $i;?>">
<option value="Administracion" <?php if ($row_User['nivel']=="Administracion"){echo "Selected"; }?>>Administracion</option>
<option value="Tecnico" <?php if ($row_User['nivel']=="Tecnico"){echo "Selected"; }?>>Tecnico</option>
<option value="Consulta" <?php if ($row_User['nivel']=="Consulta"){echo "Selected"; }?>>Consulta</option>
</select></td>
<td><div align="center">
<input name="eli<?php echo $i;?>" type="checkbox" id="eli<?php echo $i;?>" value="Si">
</div></td>
</tr>
<?php
$i++;
}while ($row_User=mysql_fetch_assoc($User));?>
<tr>
<td colspan="3"><div align="center">
<input name="indice" type="hidden" id="indice" value="<?php echo $i; ?>">
<input name="Submit3" type="submit" class="texto12" value="Guardar cambios">
</div></td>
</tr>
</table>
</form></td>
</tr>
<?php }?>
<tr>
<td class="tituser"><div align="center">Edición de contraseña </div></td>
</tr>
<tr>
<td><form name="form1" method="post" action="">
<table width="100%" border="0" cellspacing="1">
<tr class="rowcontenido">
<td>Nueva Contraseña
<input name="textfield" type="password" class="texto12"></td>
<td>Confirmar
<input name="textfield2" type="password" class="texto12"></td>
</tr>
<tr class="rowcontenido">
<td colspan="2"><div align="center">
<input name="Submit" type="submit" class="texto12" value="Guardar contraseña">
<input name="Submit2" type="submit" class="texto12" value="Salir del panel de usuario">
</div></td>
</tr>
</table>
</form></td>
</tr>
</table>
</body>
</html>
Código PHP:
<?php session_start();
require_once('../Connections/coninfo.php');
$tot=$_POST['indice'];
$i=1;
for ($i=1;$i<$tot;$i++){
//Asignación del texto sql según corresponda
$elim="eli".$i;
if (($_POST[$elim])!="Si"){
$usa="Iusuario".$i;
$nive="nivel".$i;
$idusuario=($_POST[$usa]);
$nivel=($_POST[$nive]);
$SentSql = sprintf("UPDATE usuarios SET nivel='$nivel' WHERE idusuario='$idusuario' ");
}
else{
$usa="Iusuario".$i;
$idusuario=($_POST[$usa]);
$SentSql=sprintf("DELETE FROM usuarios WHERE idusuario='$idusuario'");
}
//Ejecución del comando condicional
mysql_select_db($database_coninfo, $coninfo);
$Resultado = mysql_query($SentSql, $coninfo) or die(mysql_error());
}
//header("Location:verusua.php");
$uno="eli1";
echo $_POST[$uno];
?>
Un saludo grande para todos, gracias de antemano por prestarme atención
