Foros del Web » Programando para Internet » PHP »

Problemas con variables

Estas en el tema de Problemas con variables en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 09/12/2005, 05:33
 
Fecha de Ingreso: noviembre-2004
Mensajes: 31
Antigüedad: 20 años
Puntos: 0
Problemas con variables

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
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;<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>&nbsp;</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.

Última edición por jam1138; 10/12/2005 a las 00:06
  #2 (permalink)  
Antiguo 10/12/2005, 05:44
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 20 años, 3 meses
Puntos: 102
... primero: procura encerrar tu código entre las etiquetas correspondientes. Ve que se visualiza mejor y por lo tanto es más sencillo ayudarte.

Ocupa variables superglobales para recibir el formulario.
Lee esta FAQ: http://www.forosdelweb.com/showpost....89&postcount=4
La propia documentación: www.php.net/variables.external

... el tercer formulario no sirve porque estás tratando de emplear un $dni que no existe... Lo que quieres hacer se le conoce como "variables variables" y sería así:
Código PHP:
$vari"dni".$cant;
$cant $cant 1;  
echo $
$vari
www.php.net/language.variables.variable

Cuando hagas correcto uso de las variables superglobales... lo que deberás "incrementar" es el índice:
Código PHP:
$indice="dni".$cant;
echo 
$_POST[$indice]; 
... básicamente lo mismo.

En este caso igual puedes hacer uso de matricez: www.php.net/array

Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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:55.