Programación Web y Scripting > PHP

 Re: pasar variables de un formulario a otro y luego enviar p

<< < (2/3) > >>

Avalon:
Ah ya entiendo :good:

En ese caso pués sí, puedes hacerlo con campos hidden, sesiones o también podrías guardar los datos de cada formulario en la base de datos y recuperarlos al momento de enviar el email.


Si quieres saber más sobre sesiones aquí hay un manual en castellano:

http://www.webestilo.com/php/php12a.phtml


Si lo haces con campos hidden solo tendrías que añadir en tu formulario una línea para cada uno de los campos que tuvieras en el formulario anterior:

 
--- Código: Text ---echo "<input type='hidden' name='nombre' value='".$nombre."'>n";echo "<input type='hidden' name='apellidos' value='".$apellidos."'>n";echo "<input type='hidden' name='edad' value='".$edad."'>n";... 

Espero que te sirva.

Salu2,
Avalon

ymeza:
Gracias por tu ayuda pero aun no consigo pasar las variables. Tengo el codigo :

comparat.php

<form name="form1" method="post"

action="decide1.php?">


<?//Conexion con la base//


$host="localhost";$user="xxx";$pass="xxxxx";$conn

="direcciones";
$db = pg_connect ("dbname=$conn user=$user

password=$pass");

if (!$db )
{
  echo "No se pudo establecer la conexión";
exit;
}

//Ejecutar la sentencia SQL//

$query = "select * from organismos where

id_org='$id_org'";
$result = pg_exec($db, $query);


if ($row=pg_fetch_array($result))
{

$_POST['direccion']=$row['direccion'];
$_POST['ciudad']=$row['ciudad'];
$_POST['estado']=$row['estado'];
.......


echo "<table width=460 border='1'

cellspacing='0' cellpadding='1' height='0'

align='center'>";

do

{

echo "<tr>n";
             
                     
echo "<tr><td colspan='4'><font face='Verdana,

Arial, Helvetica,sans-serif'

size='1'>Dirección:

".$_POST["direccion"]."</font></td></tr>n";
                     
echo "<tr><td><font face='Verdana, Arial,

Helvetica, sans-serif' size='1'>Ciudad:

".$_POST['ciudad']." </font></td>n";


echo "<td align='left'><font
face='Verdana, Arial, Helvetica, sans-serif'

size='1'>Estado:</font></td>
<td  align='left'><font face='Verdana, Arial,

Helvetica, sans-serif'

size='1'>".$_POST['estado']."</font></td></tr>n";

echo"<tr><td colspan='4'><font face='Verdana,

Arial,Helvetica, sans-serif' size='1'>Tipo de

Servicio</font></td></tr>n";

echo"<tr><td colspan='4'>n";
echo "<select name='id'>n";
echo "<option value='0'

selected>Seleccione</option>n";
echo "<option value='1'>Internet</option>n";
echo "<option

value='2'>Sist.Operativos</option>n";
echo "<option value='3'>Soporte

Tecnico</option>n";

echo "</select>nn";
echo "</td></tr>n";

echo "</tr>n";


}

while ($row = pg_fetch_array($result));

echo "</table>n";


}

else
{

echo "¡Usted no está registrado!";
}

?>
<input type="submit" name="enviar" value="Enviar">
<input type='hidden' name='direccion'

value=".$_POST['direccion'].">

</form>  

-----------------------------------
internet1.php

<?
if (!$_POST){
?>
<form name="form1" method="post"

action="internet1.php">
                  <p align="center"><font

face="Verdana, Arial, Helvetica, sans-serif"

size="1">INTERNET</font></p>
                  <table width="460" border="1"

cellspacing="0" cellpadding="1" height="0"

align="center">
                    <tr>
                      <td><font face="Verdana,

Arial, Helvetica, sans-serif" size="1">Tipo
                        de

Conexión</font></td>
                    </tr>
                    <tr>
                      <td><select name="id">
                          <option value="0"

selected>Seleccione</option>
                          <option

value="Dedicada">Dedicada</option>
                          <option value="Fibra

Optica">Fibra Optica</option>
                          <option

value="Inalambrica">Inalambrica</option>
                        </select> </td>
                    </tr>
                    <tr>
                      <td><font face="Verdana,

Arial, Helvetica, sans-serif"

size="1">Departamento/División:
                        <input type="text"

name="departamento" maxlength="20">
                        </font></td>
                    </tr>
                    <tr>
                      <td><font face="Verdana,

Arial, Helvetica, sans-serif" size="1">
                        </font></td>
                    </tr>
                    <tr>
                      <td>
                        <p><font face="Verdana,

Arial, Helvetica, sans-serif"

size="1">Justificación
                          de la

Solicitud</font></p>
                        <p align="center">
                          <textarea

name="descripsolici" rows="5" cols="45"></textarea>
                        </p>
                      </td>
                    </tr>
                  </table>
                  <p align="center">
                    <input type="submit"

name="Submit" value="Enviar">
<input type='hidden' name='direccion' value="<?

echo ".$_POST['direccion'].";?>">
                 

   
                </form>
            <?
}else{
    //Estoy recibiendo el formulario, compongo el

cuerpo
   
    $cuerpo = "Formulario Enviadon";
   $cuerpo .= "Tipo de Conexion: " .

$_POST["id"] . "n";  
    $cuerpo .= "Departamento/División: " .

$_POST["departamento"] . "n";
    $cuerpo .= "Descripción de la solicitud : " .

$_POST["descripsolici"] . "n";
    $cuerpo .=  "Direccion: "  .

$_POST['direccion']."n";

   
   //mando el correo...
    mail("yesi_14@yahoo.com","Formulario

recibido",$cuerpo);

    //doy las gracias por el envío
    echo "Gracias por rellenar el formulario. Se ha

enviado correctamente.";
}
?>


Y quiero pasar el campo direccion para que cuando me envie este formulario tambien me incluya la direccion del cliente ademas del tipo de conexion, departamento y justificacion......

No se como colocarlo pero lo hice con campos hidden y no me aparece nada.

Que estare´haciendo mal????


Gracias

Avalon:
Se me hace muy complicado interpretar tu código con las líneas tan cortas y sin ningún tipo de indentación. Sería mejor si adjuntaras los archivos a tu mensaje, con la opción Adjuntar archivo que aparece al momento de publicar el mensaje, en lugar de copiarlos y pegarlos en el cuerpo del mensaje.

De todas formas en el archivo comparat.php mandas el formulario a decide1.php pero no has incluído o no he conseguido ver el código de este archivo decide1.php

Un pequeño detalle. Cuando haces estas asignaciones:

$_POST['direccion']=$row['direccion'];
$_POST['ciudad']=$row['ciudad'];
$_POST['estado']=$row['estado'];

Lo haces así por alguna razón especial? $_POST es un array que contiene los campos y valores recibidos a través del formulario, por tanto debería utilizarse para leer sus valores y no para asignárselos. De la forma que lo has hecho puede crear mucha confusión a alguien que lee tu código por primera vez.

Si lo pones así:

$direccion=$row['direccion'];
$ciudad=$row['ciudad'];
$estado=$row['estado'];

se ve mucho más claro y no hay lugar a dudas. O si lo quieres hacer con un array también así:

$datos['direccion']=$row['direccion'];
$datos['ciudad']=$row['ciudad'];
$datos['estado']=$row['estado'];


Salu2,
Avalon

ymeza:
Gracias nuevamente y disculpa, te envio los archivos uno a uno

ymeza:
otro archivo

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa