Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/04/2007, 01:31
AJDC
 
Fecha de Ingreso: agosto-2003
Mensajes: 324
Antigüedad: 20 años, 8 meses
Puntos: 1
Recuperar valores de un formulario para correo

Saludos.
He estado buscando información por el foro, pero tras probar varios ejemplos, no termino de encontrar solución a mi problema.
Tengo un formulario en html, que mediante acción POST enviará los datos a un php, que los recuperará y enviará un correo al usuario "webmaster".
No consigo recuperar e imprimir dichos valores en el body del correo que se recibe.
Podriais mirarlo y ver donde esta el problema .....
Gracias de antemano...

Resumo el html ...

Código HTML:
<form id="form1" name="form1" METHOD="post" ACTION="respcontac.php">
              <input name="nombre" type="text" id="nombre" size="53" />
              <input name="direccion" type="text" id="direccion" size="53" />
              <input name="telefono" type="text" id="telefono" size="53" /></td>
               <textarea name="consulta" cols="40" rows="5" id="consulta"></textarea>
              <a href="respcontac.php" target="_self" class="ParrafoTituloBoton" >Enviar</a>
          </form> 

El codigo php....
Código PHP:
<?
           
if (!isset($_server["PHP_SELF"]))
{
$_GET $HTTP_GET_VARS;
$_POST $HTTP_POST_VARS;
$_SESSION $HTTP_SESSION_VARS;
}
  
// primero hay que incluir la clase phpmailer para poder instanciar
  //un objeto de la misma
  
   
$nombre=$_POST['nombre'];
   
$telefono=$_POST['telefono'];
   
$direccion=$_POST['direccion'];
   
$asunto=$_POST['consulta'];
   
  require 
"includes/class.phpmailer.php";

  
//instanciamos un objeto de la clase phpmailer al que llamamos 
  //por ejemplo mail
  
$mail = new phpmailer();
    
  
//Definimos las propiedades y llamamos a los métodos 
  //correspondientes del objeto mail

  //Con PluginDir le indicamos a la clase phpmailer donde se 
  //encuentra la clase smtp que como he comentado al principio de 
  //este ejemplo va a estar en el subdirectorio includes
  
$mail->PluginDir "includes/";

  
//Con la propiedad Mailer le indicamos que vamos a usar un 
  //servidor smtp
  
$mail->Mailer "smtp";

  
//Asignamos a Host el nombre de nuestro servidor smtp
  
$mail->Host "tuatenda.com";

  
//Le indicamos que el servidor smtp requiere autenticación
  
$mail->SMTPAuth true;

  
//Le decimos cual es nuestro nombre de usuario y password
  
$mail->Username "[email protected]"
  
$mail->Password "beatriz";

  
//Indicamos cual es nuestra dirección de correo y el nombre que 
  //queremos que vea el usuario que lee nuestro correo
  
$mail->From "[email protected]";
  
$mail->FromName "Contacto en Tuatenda";

  
//el valor por defecto 10 de Timeout es un poco escaso dado que voy a usar 
  //una cuenta gratuita, por tanto lo pongo a 30  
  
$mail->Timeout=30;

  
//Indicamos cual es la dirección de destino del correo
  
$mail->AddAddress("[email protected]");
    
//$mail->AddAddress("[email protected]");


  //Asignamos asunto y cuerpo del mensaje
  //El cuerpo del mensaje lo ponemos en formato html, haciendo 
  //que se vea en negrita
  
$mail->Subject "Envio de datos de contacto desde la web";
  
$mail->Body "Interesado: " $nombre "<br>Telefono: " $telefono "<br>Direccion: " $direccion "<br>Asunto: <br>" $asunto"\n";
  
//Definimos AltBody por si el destinatario del correo no admite email con formato html 
  
$mail->AltBody "Interesado: " $nombre "   - Telefono: " $telefono "   - Direccion: " $direccion "   - Asunto: " $asunto"\n";

  
//se envia el mensaje, si no ha habido problemas 
  //la variable $exito tendra el valor true
  
$exito $mail->Send();

  
//Si el mensaje no ha podido ser enviado se realizaran 4 intentos mas como mucho 
  //para intentar enviar el mensaje, cada intento se hara 5 segundos despues 
  //del anterior, para ello se usa la funcion sleep    
  
$intentos=1
  while ((!
$exito) && ($intentos 5)) {
    
sleep(5);
         
//echo $mail->ErrorInfo;
         
$exito $mail->Send();
         
$intentos=$intentos+1;    
    
   }
 
        
   if(!
$exito)
   {
    echo 
"Problemas enviando correo electrónico a ".$valor;
    echo 
"<br>".$mail->ErrorInfo;    
   }
   else
   {
    echo 
"<b>Mensaje enviado correctamente. <br>Gracias por el envío. <br> En breve nos pondremos en contacto con usted.</b>";
   } 
?>
Espero que me podais ayudar ...

Muchas gracias