Foros del Web » Programando para Internet » PHP »

Devolver datos de formulario al usuario

Estas en el tema de Devolver datos de formulario al usuario en el foro de PHP en Foros del Web. Hola, tengo el código de un formulario que se envía a un email. Qué hay que añadir al código para que el usuario que rellena ...
  #1 (permalink)  
Antiguo 28/11/2007, 05:15
 
Fecha de Ingreso: enero-2002
Mensajes: 284
Antigüedad: 22 años, 3 meses
Puntos: 0
Sonrisa Devolver datos de formulario al usuario

Hola, tengo el código de un formulario que se envía a un email.
Qué hay que añadir al código para que el usuario que rellena el formulario reciba una copia de los datos enviados.

Este es el código que del formulario.

De antemano gracias.

Código:
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
        <title>Envíanos tus comentarios</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="texto%20Normal.css" rel="stylesheet" type="text/css">
<link href="estilos_tragi.css" rel="stylesheet" type="text/css">
    <style type="text/css">
<!--
.Estilo9 {color: #FFFFFF}
-->
    </style>
    </head>

    
<body text="#000000" link="#66FF00" vlink="#006060" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" scrollbars="no">
<?
    if (!$HTTP_POST_VARS){
    
    
    ?>
<form action="envia_form.php" method=post>

      
  
     <table width="762" height="498" border="0" align="center" bordercolor="#000066">
    <tr> 
      <td height="23" colspan="6" bgcolor="#000066"> <div align="center" class="cabeceraTablaBlanca"> <font color="#FFFFFF"><b>FORMULARIO 
          SOLICITUD DE OFERTAS </b></font></div></td>
    </tr>
    <tr> 
      <td height="10" bgcolor="#C8CCB7" class="formulario">&nbsp; </td>
      <td width="296" bgcolor="#C8CCB7" class="negrita14p">DATOS DEL CLIENTE </td>
      <td colspan="4" rowspan="6" bgcolor="#FFFFFF">
<div align="center"><span class="Estilo9"></span><span class="Estilo9"></span><span class="Estilo9"></span>
<span class="Estilo9"></span><span class="Estilo9"></span>
<img src="fotos/Logo05_form_w.jpg" width="297" height="130"></div></td>
    </tr>
    <tr>
      <td height="12" bgcolor="#A09D63" class="negritaBlanca"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif">Nombre:</font></td>
      <td bgcolor="#CCCC99"><b>
        <input name="Nombre" type="text" id="Nombre" size="35">
      </b></td>
      </tr>
    <tr> 
      <td width="133" height="3" bgcolor="#A09D63" class="negritaBlanca"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif">Compa&ntilde;ia:</font></td>
      <td bgcolor="#CCCC99"> <b> 
        <input name="Company" type="text" id="Company" size="35">
      </b></td>
      </tr>
    <tr>
      <td width="133" height="5" bgcolor="#A09D63" class="negritaBlanca"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif">Tel&eacute;fono:</font></td>
      <td bgcolor="#CCCC99"><b>
        <input name="Telefono" type="text" id="Telefono">
      </b></td>
      </tr>
    <tr>
      <td width="133" height="4" bgcolor="#A09D63" class="negritaBlanca"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif">Fax:</font></td>
      <td bgcolor="#CCCC99"><b>
        <input type="text" name="Fax" id="Fax">
      </b></td>
      </tr>

</form>
    <? 
    }else{
       
        $cuerpo = "Formulario enviado\n";
        $cuerpo .= "Nombre: " . $HTTP_POST_VARS["Nombre"] . "\n";
        $cuerpo .= "Email: " . $HTTP_POST_VARS["Email"] . "\n";
        $cuerpo .= "Company: " . $HTTP_POST_VARS["Company"] . "\n";
        $cuerpo .= "Telefono: " . $HTTP_POST_VARS["Telefono"] . "\n";
        $cuerpo .= "Fax: " . $HTTP_POST_VARS["Fax"] . "\n";
        $cuerpo .= "Email: " . $HTTP_POST_VARS["Email"] . "\n";
        $cuerpo .= "Mercancia: " . $HTTP_POST_VARS["Mercancia"] . "\n";
        $cuerpo .= "Embalaje: " . $HTTP_POST_VARS["Embalaje"] . "\n";
        $cuerpo .= "Medidas: " . $HTTP_POST_VARS["Medidas"] . "\n";
        $cuerpo .= "Volumen: " . $HTTP_POST_VARS["Volumen"] . "\n";



       
        mail("[email protected]","Formulario recibido",$cuerpo);

    ?>
    <table width="100%" height="100%" cellspacing="0" border="0" cellpadding="0">
  <tbody>
    <tr>
      <td align="center">
      
          <table width="250" height="150" cellspacing="0" border="0" cellpadding="0">
  <tbody>
    <tr>
      <td align="center" valign="middle" bgcolor="#00CCFF">
      
      <h4><? 
if (!mail){ echo "No se ha enviado el formulario correctamente"; 
} else {  echo "Gracias por rellenar el formulario.<br>Se ha enviado correctamente."; } ?>
</h4>  <!-- Cierro el </h7>  -->

</td>
    </tr>
  </tbody>
</table>
</td>
</tr>
  </tbody>
</table>
<? }  ?>
    </body>
    </html>

Última edición por mangandini; 29/11/2007 a las 14:50
  #2 (permalink)  
Antiguo 28/11/2007, 06:00
 
Fecha de Ingreso: noviembre-2007
Mensajes: 5
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Devolver datos de formulario al usuario

Debes modificar la función php para que envíe a dos direcciones mail, nada más. No sé muy bien si es eso a lo que te refieres...
  #3 (permalink)  
Antiguo 28/11/2007, 06:14
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: Devolver datos de formulario al usuario

Hola, debes añadir cabeceras;

Fíjate en los ejemplos:

http://es.php.net/manual/es/function.mail.php

SALUDOS
Ruymán Trujillo
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #4 (permalink)  
Antiguo 28/11/2007, 06:50
 
Fecha de Ingreso: enero-2002
Mensajes: 284
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Devolver datos de formulario al usuario

Gracias a los dos por responder.

He de decir que estoy muy verde en PHP, por lo que no entiendo bien lo de las cabeceras.
Rux, el ejemplo que has puesto no tiene la misma estructura (para, asunto, etc) que la que uso yo, por lo que me pierdo.

A ver si es esto.
El campo (en el formulario) donde el usuario pone su email se llama Email

Código:
  mail("[email protected]","Formulario recibido",$cuerpo); --Esta lía es la que ya existe en el formulario

$para      = 'Email';
$cabeceras = 'From: Email' . "\r\n" .
    'Reply-To: Email' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($Email, $cabeceras);
Saludos
  #5 (permalink)  
Antiguo 28/11/2007, 08:43
 
Fecha de Ingreso: noviembre-2007
Mensajes: 5
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Devolver datos de formulario al usuario

Si, algo así, aquí tienes un ejemplo más claro que me valió a mi para enrear la primera vez creo:

http://www.desarrolloweb.com/articulos/1048.php

Un saludo!
  #6 (permalink)  
Antiguo 28/11/2007, 15:38
 
Fecha de Ingreso: enero-2002
Mensajes: 284
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Devolver datos de formulario al usuario

Hola Selosou, está muy bien el artículo que me recomiendas, pero no entiendo como se hace para que reenvíe a la persona que rellena el formulario.

Según el ejemplo esto debería funcionar, pero no es así.
Quizá me falta alguna pequeñez...

Saludos

Código:
<? 
if (!$HTTP_POST_VARS){ 
?> 
<form action="envia_form_php.php" method=post> 
Nombre: <input type=text name="nombre" size=16> 
<br> 
Email: <input type=text name=email size=16> 
<br> 
Comentarios: <textarea name=coment cols=32 rows=6></textarea> 
<br> 
<input type=submit value="Enviar"> 
</form> 
<? 
}else{ 
    //Estoy recibiendo el formulario, compongo el cuerpo 
    $cuerpo = "Formulario enviado\n"; 
    $cuerpo .= "Nombre: " . $HTTP_POST_VARS["nombre"] . "\n"; 
    $cuerpo .= "email: " . $HTTP_POST_VARS["email"] . "\n"; 
    $cuerpo .= "Comentarios: " . $HTTP_POST_VARS["coment"] . "\n"; 
	
	      //mando el correo... 
       mail("[email protected]","Formulario recibido",$cuerpo); 
$respuesta ='Recibimos su preticion. Recibirá nuestras noticias' ; 
mail("email","Formulario recibido",$cuerpo . '\n' . $respuesta); 
       //doy las gracias por el envío 
       echo "Gracias por rellenar el formulario. Se ha enviado correctamente."; 
} 

?> 
</body> 
</html>
  #7 (permalink)  
Antiguo 28/11/2007, 15:41
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: Devolver datos de formulario al usuario

Hola, en el ejemplo que te mandé yo, fíjate bien como ordena la cabecera:

Código PHP:
$cabeceras .= 'To: María <[email protected]>, Kelly <[email protected]>' "\r\n";
$cabeceras .= 'From: Recordatorio de Cumpleaños <[email protected]>' "\r\n";
$cabeceras .= 'Cc: [email protected]"\r\n";
$cabeceras .= 'Bcc: [email protected]"\r\n"
Donde pone Cc: es la copia, y donde pone Bcc: es la copia oculta del email

SALUDOS
Ruymán Trujillo
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #8 (permalink)  
Antiguo 28/11/2007, 19:21
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Devolver datos de formulario al usuario

Código PHP:
mail("email","Formulario recibido",$cuerpo '\n' $respuesta); 
No seria:
Código PHP:
mail($email,"Formulario recibido",$cuerpo '\n' $respuesta); 
Un saludo,
  #9 (permalink)  
Antiguo 28/11/2007, 19:37
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: Devolver datos de formulario al usuario

Adicionalmente, seguramente debería ser "\n" y no '\n' si lo que querés es un salto de línea
  #10 (permalink)  
Antiguo 29/11/2007, 02:12
 
Fecha de Ingreso: enero-2002
Mensajes: 284
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Devolver datos de formulario al usuario

FUNCIONA!!!!!
Gracias a todos por responder.
El problema está resuelto.

Faltaba mail($email,"Formulario recibido",$cuerpo . '\n' . $respuesta);

Me queda un detalle por resolver para que quede perfecto.
En la última línea de la respuesta que recibe el usuario sale
\nRecibimos su preticion. Recibirá nuestras noticias

He probado lo que dice Seppo de quitar la comilla pero da error al abrirlo.

Gracias y saludos
  #11 (permalink)  
Antiguo 29/11/2007, 02:20
 
Fecha de Ingreso: noviembre-2007
Mensajes: 5
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Devolver datos de formulario al usuario

prueba cambiando el "\n" ó '\n' que tengas por "</br>". Esto es un salto de línea en html, debería funcionarte.
Un saludo!
  #12 (permalink)  
Antiguo 23/01/2008, 10:16
 
Fecha de Ingreso: enero-2002
Mensajes: 284
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Devolver datos de formulario al usuario

Hola otra vez, como es posible que un formulario deje de funcionar sin haber cambiado nada.

Faltaba el $ de Okram y funcionó a la perfección.

A ver si alguien me puede ayudar.

Este es el código

Código:
		
			      //mando el correo... 
       mail("[email protected]","Formulario recibido",$cuerpo); 
	   //envio copia al usuario que rellena el formulario... 
$respuesta ='Recibimos su preticion. Recibirá nuestras noticias' ; 
 mail($Email,"Formulario recibido",$cuerpo . '\n' . $respuesta);
Gracias y saludos
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 03:07.