Programación Web y Scripting > PHP
Re: pasar variables de un formulario a otro y luego enviar p
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
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa