PHP - Problemas con Variables

 
Vista:

Problemas con Variables

Publicado por Luciano (1 intervención) el 10/12/2005 00:16:45
Hola, tengo un problema con el un formulario, el temas es el siguiente:
en la primera carga del form, elijo la cantidad de empleados que voy a cargar, en la segunda carga del form, cargo a las personas con sus datos (nombre, apellido, etc) las cajas de texto le asigno un nombre en forma dinámica, pero en la tercer carga del form no me muestra la información que cargue previamente.

El código es el siguiente

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<table width="765" height="337" border="1">
<tr>
<td width="755" colspan="3" valign="top">
<form name="form1" method="post" action="">

<?php if (!$cantidademp && !$procesar){ //es la pimera vez que entro

?>
<table width="555" border="1" align="center">
<tr>
<td align="left">Cargar la cantidad de personas </td>
</tr>
<tr>
<td><div align="left"> </div></td>
</tr>
</table>
<p> </p>
<table width="386" border="1" align="center">
<tr>
<td width="185">Cantidad de Empleados</td>
<td width="185"><div align="center">
<select name="cantidad">
<option selected>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
</select>
</div></td>
</tr>
</table>

<p align="center">
<input type="submit" name="cantidademp" value="Siguiente" >
</p>
<p> </p>
<?php } elseif ($cantidademp){ ?>
<table width="555" border="1" align="center">
<tr>
<td align="left"> Carga de datos de Empleados </td>
</tr>
<tr>
<td><div align="left"> </div></td>
</tr>
</table>
<p> </p>
<?php $cant = 1;
while ($cant <= $cantidad)
{ $indice = $cant - 1; ?>
<p align="center">EMPLEADO
<?php echo $cant;?>
DE
<?php echo $cantidad;?>
</p>
<?php $dni = "dni".$cant;
$apellido = "apellido".$cant;
$nombre = "nombre".$cant;
$sueldo = "sueldo".$cant;
$afiliado = "afiliado".$cant;
?>
<table width="740" border="1">
<tr>
<td width="144"><div align="center">DNI</div></td>
<td width="210"><div align="center">APELLIDO</div></td>
<td width="211"><div align="center">NOMBRE</div></td>
<td width="61"><div align="center">SUELDO</div></td>
<td width="80"><div align="center">AFILIADO</div></td>
</tr>
<tr>
<td><input name="<?php echo $dni; ?>" type="text" id="dni"> </td>
<td>
<div align="center">
<input name="<?php echo $apellido; ?>" type="text" id="apellido" size="35">
</div></td>
<td><input name="<?php echo $nombre; ?>" type="text" id="nombre" size="35"></td>
<td><div align="center">
<input name="<?php echo $sueldo; ?>" type="text" id="sueldo" size="9">
</div></td>
<td><div align="center">
<input name="<?php echo $afiliado; ?>" type="checkbox" id="afiliado" value="checkbox">
</div></td>
</tr>
</table>
<?php
$cant = $cant + 1; }?>
<p> <input type="hidden" name='canti' value ='<?php echo $cantidad; ?>' ></p>
<p align="center">
<input type="submit" name="procesar" value="Procesar">

</p>

<?php
}else {

echo "Sesion 3!!!";
echo $canti;
$cant = 1;
while ($cant <= $canti)
{

$vari= $dni.$cant;
$cant = $cant + 1;
echo $vari;
}

} ?>
</form>
<p> </p></td>
</tr>
</table>
</body>
</html>

lo que intente es generar el nombre del text en forma dinámica pero no me funciona.

Tambien tengo un javascript que me controla si algun dato no lo cargue que me avise (el javascript no lo puse poruqe funciona bien)

Desde ya muchisimas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas con Variables

Publicado por FiSiCo (403 intervenciones) el 10/12/2005 04:56:15
Para empezar tienes que cerrar y abrir el form por cada IF o ELSE o por default para las tres partes de la pagina y tu codigo de la tercera parte pruebalo asi

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<table width="765" height="337" border="1">
<tr>
<td width="755" colspan="3" valign="top">
<form name="form1" method="post" action="">

<?php if (!$cantidademp && !$procesar){ //es la pimera vez que entro

?>
<table width="555" border="1" align="center">
<tr>
<td align="left">Cargar la cantidad de personas </td>
</tr>
<tr>
<td><div align="left"> </div></td>
</tr>
</table>
<p> </p>
<table width="386" border="1" align="center">
<tr>
<td width="185">Cantidad de Empleados</td>
<td width="185"><div align="center">
<select name="cantidad">
<option selected>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
</select>
</div></td>
</tr>
</table>

<p align="center">
<input type="submit" name="cantidademp" value="Siguiente" >
</p>
<p> </p>
<?php } elseif ($cantidademp){ ?>
</form>
<form name="form1" method="post" action="">
<table width="555" border="1" align="center">
<tr>
<td align="left"> Carga de datos de Empleados </td>
</tr>
<tr>
<td><div align="left"> </div></td>
</tr>
</table>
<?php $cant = 1;
while ($cant <= $cantidad)
{ $indice = $cant - 1; ?>
<p align="center">EMPLEADO
<?php echo $cant;?>
DE
<?php echo $cantidad;?>
</p>
<?php $dni = "dni".$cant;
$apellido = "apellido".$cant;
$nombre = "nombre".$cant;
$sueldo = "sueldo".$cant;
$afiliado = "afiliado".$cant;
?>
<table width="740" border="1">
<tr>
<td width="144"><div align="center">DNI</div></td>
<td width="210"><div align="center">APELLIDO</div></td>
<td width="211"><div align="center">NOMBRE</div></td>
<td width="61"><div align="center">SUELDO</div></td>
<td width="80"><div align="center">AFILIADO</div></td>
</tr>
<tr>
<td><input name="<?php echo $dni; ?>" type="text" id="dni"> </td>
<td>
<div align="center">
<input name="<?php echo $apellido; ?>" type="text" id="apellido" size="35">
</div></td>
<td><input name="<?php echo $nombre; ?>" type="text" id="nombre" size="35"></td>
<td><div align="center">
<input name="<?php echo $sueldo; ?>" type="text" id="sueldo" size="9">
</div></td>
<td><div align="center">
<input name="<?php echo $afiliado; ?>" type="checkbox" id="afiliado" value="checkbox">
</div></td>
</tr>
</table>
<?php
$cant = $cant + 1; }?>
<p> <input type="hidden" name='canti' value ='<?php echo $cantidad; ?>' ></p>
<p align="center">
<input type="submit" name="procesar" value="Procesar">

</p>
</form>
<form name="form1" method="post" action="">

<?php
}else {

echo "Sesion 3!!!<br>";
echo $canti."<br><br>";
$cant = 1;
while ($cant <= $canti)
{

$vari= $HTTP_POST_VARS["dni".$cant]."-".$cant."<br>";
$cant = $cant + 1;
echo $vari;
}

} ?>
</form>
<p> </p></td>
</tr>
</table>
</body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar