PHP:¿Cómo paso valores entre varios formularios?

De Foros del Web

Notas importantes: Usar array Super globales y el atributo method de la etiqueta form debe ser "post" aunque si cambiamos $_GET y el atributo "get" en la etiqueta form también debe funcionar.

Veamos un ejemplo:

Formulario1:

Código PHP:

 <form name="formEmpresa" method="post" action="registro3.php">         
        <table width="60%" border="0" align="center" cellpadding="0" cellspacing="0"> 
          <tr>  
            <td width="32%"><font size="2" face="Arial, Helvetica, sans-serif">Puesto:</font></td> 
            <td width="68%"><font size="2" face="Arial, Helvetica, sans-serif">  
              <input name="puesto" type="text" id="puesto" size="40" maxlength="40"> 
              </font></td> 
          </tr> 
          <tr> 
            <td><font size="2" face="Arial, Helvetica, sans-serif">Email oficina:</font></td> 
            <td><font size="2" face="Arial, Helvetica, sans-serif"> 
              <input name="emailOficina" type="text" id="fax" size="40" maxlength="60"> 
              </font></td> 
          </tr> 
        </table> 
            <p align="center"> 
              <input name="continuarEmpresa" type="submit" id="registrar" value="Continuar"> 
            </p> 
        </form>  

2do formulario:

Código PHP:

<form name="formEmpresa" method="post" action="registro4.php"> 
        <? 
            foreach( $_POST as $key => $value ) { 
                echo "<input type='hidden' name='".$key."' value='".$value."'>"; 
            } 
        ?> 
        <table width="60%" border="0" align="center" cellpadding="0" cellspacing="0"> 
          <tr>  
            <td width="34%"><font size="2" face="Arial, Helvetica, sans-serif">Productos  
              que ofreces:</font></td> 
            <td width="66%"><font size="2" face="Arial, Helvetica, sans-serif">  
              <input type="text" name="nombre"> 
              </font></td> 
          </tr> 
 
        </table> 
        <p align="center"> 
              <input name="continuarEmpresa" type="submit" id="registrar" value="Continuar"> 
            </p> 
        </form> 

Con lo anterior se irán creando campos hidden con todos los valores pasados del formulario 1 al 2. Y por último en el último envio podemos recoger todos los valores con un simple $_POST["nombreCampo"]

Bueno es algo sencillo pero útil, acabo de hacer esto para un portal y funciona muy bien.


--urjose 10 Abr 2003

Este artículo es parte de las FAQs de PHP y el Manual de PHP

Herramientas personales