• Viernes 19 de Abril de 2024, 13:28

Autor Tema:  Re: pasar variables de un formulario a otro y luego enviar p  (Leído 4268 veces)

ymeza

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: pasar variables de un formulario a otro y luego enviar p
« en: Miércoles 15 de Octubre de 2003, 22:46 »
0
Hola:

Tengo un formulario en donde se recoge una informacion de entrada con un menu desplegable, este direcciona a otr en donde se obtiene la informacion que ya se encuentra en la base de datos consultada en cajas de texto, elijo una opcion en un menu desplegable para continuar con la transaccion, y me lleva a otro formulario que igualmente debo llenar.


Ahora quiero enviar toda esa informacion por correo electronico, cabe mencionar los datos del primer formulario, del segundo y del ultimo, solo que nada mas me envía los datos del ultimo formulario. Como paso las otras variables de los otros formularios????

Oliverio

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: pasar variables de un formulario a otro y luego enviar p
« Respuesta #1 en: Jueves 16 de Octubre de 2003, 07:38 »
0
A ver sí entendi bien:
Tenes 3 paginas que se llaman una a una en secuencia y al final tenes que recopilar todo y mandarlo por mail.
Si es eso tenes dos maneras:
La desprolija:
Tener un imput hiden en el form al que le vas sumando las respuestas.
La correcta:
Usar variables de session.
Y despues usas mail()

ymeza

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: pasar variables de un formulario a otro y luego enviar p
« Respuesta #2 en: Viernes 17 de Octubre de 2003, 21:09 »
0
En el caso de que los campos de un formulario despues de una consulta ya aparezcan como los paso al formulario final, con campos hidde, por ejemplo como sería????

Avalon

  • Miembro MUY activo
  • ***
  • Mensajes: 448
    • Ver Perfil
Re: pasar variables de un formulario a otro y luego enviar p
« Respuesta #3 en: Martes 21 de Octubre de 2003, 17:04 »
0
No termino de entenderlo :think:

Si no quieres que aparezcan los valores en el formulario deberías pasarlos ocultos:

<input type="hidden" name="nombre_del_campo" value="valor_del_campo">

Por contra si quieres mostrar los valores en el formulario sería lo mismo pero cambiando hidden por el tipo correspondiente:

<input type="text" name="nombre_del_campo" value="valor_del_campo">


Si no eso lo que preguntabas acláralo un poco más y con gusto te ayudaré.

Salu2,
Avalon

ymeza

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: pasar variables de un formulario a otro y luego enviar p
« Respuesta #4 en: Martes 21 de Octubre de 2003, 17:09 »
0
Lo que sucede es que cuando envio por email la informacion contenida en el ultimo formulario, quiero que ademas de esta tambien me aparezca la informacion de los anteriores y solo me presenta la del ultimo formulario.

es por ello que pregunto como puedo pasar esas variables de un formulario a otro, usando campos hidden o sesiones, que también lo he visto por allí pero que no termino de comprender.

espero me hayas entendido y gracias de antemano por tu ayuda :ayuda:

Avalon

  • Miembro MUY activo
  • ***
  • Mensajes: 448
    • Ver Perfil
Re: pasar variables de un formulario a otro y luego enviar p
« Respuesta #5 en: Martes 21 de Octubre de 2003, 19:44 »
0
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
  1. echo "<input type='hidden' name='nombre' value='".$nombre."'>n";
  2. echo "<input type='hidden' name='apellidos' value='".$apellidos."'>n";
  3. echo "<input type='hidden' name='edad' value='".$edad."'>n";
  4. ...
  5.  


Espero que te sirva.

Salu2,
Avalon

ymeza

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: pasar variables de un formulario a otro y luego enviar p
« Respuesta #6 en: Martes 21 de Octubre de 2003, 22:12 »
0
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

  • Miembro MUY activo
  • ***
  • Mensajes: 448
    • Ver Perfil
Re: pasar variables de un formulario a otro y luego enviar p
« Respuesta #7 en: Miércoles 22 de Octubre de 2003, 10:44 »
0
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

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: pasar variables de un formulario a otro y luego enviar p
« Respuesta #8 en: Miércoles 22 de Octubre de 2003, 15:07 »
0
Gracias nuevamente y disculpa, te envio los archivos uno a uno
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

ymeza

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: pasar variables de un formulario a otro y luego enviar p
« Respuesta #9 en: Miércoles 22 de Octubre de 2003, 15:07 »
0
otro archivo
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

ymeza

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: pasar variables de un formulario a otro y luego enviar p
« Respuesta #10 en: Miércoles 22 de Octubre de 2003, 15:08 »
0
Este archivo es el principal del cual se genera un menu desplegable y el cual me lleva a comparat.php
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

ymeza

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: pasar variables de un formulario a otro y luego enviar p
« Respuesta #11 en: Miércoles 22 de Octubre de 2003, 15:09 »
0
Este es el archivo que deberia recoger todos los campos para ser enviados por email
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

Avalon

  • Miembro MUY activo
  • ***
  • Mensajes: 448
    • Ver Perfil
Re: pasar variables de un formulario a otro y luego enviar p
« Respuesta #12 en: Miércoles 22 de Octubre de 2003, 17:51 »
0
Algunos detalles que he encontrado en tu código...

1) En comparat.php la línea

<input type='hidden' name='direccion' value=".$_POST['direccion'].">

debería ser:

<input type='hidden' name='direccion' value="<? echo $_POST['direccion']; ?>">


2) En decide1.php es donde se está produciendo la mayor parte del problema. Si haces esto:

header("location: internet.php");

estás enviando al usuario al script internet.php pero sin pasarle ningún tipo de parámetros a ese script, con lo cuál todos los datos que hubieras enviado desde el formulario que hay en importante1.php los estás perdiendo. Tendrás que cambiar este paso y hacerlo de otra manera para poder recoger los datos en internet.php.


Salu2,
Avalon

ymeza

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: pasar variables de un formulario a otro y luego enviar p
« Respuesta #13 en: Jueves 23 de Octubre de 2003, 16:54 »
0
Hola nuevamente, ya consigo pasar las variables en decide1.php hago esto :
<?php
switch ($id)
{
case"0":
echo"NO HAS SELECCIONADO UN SERVICIO";
exit;
case"1":
header("location:

internet1.php?direccion=$direccion");
exit;

....

Y asi paso la variable direccion a internet 1, pero resulta que no hallo como hacer para plasmarla en internet 1 cuando envío el email. Te explico, tengo una funcion mail y quiero enviar todos los datos :
<?
}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:  " .$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.";
}
?>

Si te fijas quiero que en el email tambien vaya la variable direccion y he probado muchas veces pero no he logrado pasarla en el email. Que estaré haciendo mal???

Gracias por tu ayuda nuevamente

:question:

Avalon

  • Miembro MUY activo
  • ***
  • Mensajes: 448
    • Ver Perfil
pasar variables de un formulario a otro y luego enviar por e
« Respuesta #14 en: Jueves 23 de Octubre de 2003, 23:56 »
0
Debido a que pasas la variable $direccion vía URL (internet1.php?direccion=$direccion) y no vía formulario, la dirección la tendrás en la variable $_GET['direccion'] y no en $_POST['direccion']. A ver si es eso...


Salu2,
Avalon