Foros del Web » Programando para Internet » PHP »

recoger valor de formulario y enviarlo por mail

Estas en el tema de recoger valor de formulario y enviarlo por mail en el foro de PHP en Foros del Web. Buenas estoy realizando un sistema de envio de correo donde se adjuntan imagenes lo que no puedo hacer es tomar datos de otro campo de ...
  #1 (permalink)  
Antiguo 21/07/2009, 14:14
 
Fecha de Ingreso: abril-2005
Mensajes: 112
Antigüedad: 19 años
Puntos: 0
recoger valor de formulario y enviarlo por mail

Buenas estoy realizando un sistema de envio de correo donde se adjuntan imagenes lo que no puedo hacer es tomar datos de otro campo de texto que tengo en la pagina que envia los datos

pagina 1

<form action="envia-mail.php" method="POST" enctype="multipart/form-data">
<p>
<input name="to" type="text" value="[email protected]" />
<input name="subject" type="hidden" value=" " />
<br />
Su email:
<input type="text" name="from" />
<br />
</p>
<p>articulo:<br />
<input name="message" type="text" value="" size="70">
</p>
<p>File Attachment: <input type="file" name="fileatt" /></p>
<p><input type="submit" value="Send" /></p>
</form>

codigo de pagina envia-mail.php
<?php
// Read POST request params into global vars
$to = $_POST['to'];
$from = $_POST['from'];
$subject = $_POST['subject'];
$message = $_POST['message'];

// Obtain file upload vars
$fileatt = $_FILES['fileatt']['tmp_name'];
$fileatt_type = $_FILES['fileatt']['type'];
$fileatt_name = $_FILES['fileatt']['name'];

$headers = "From: $from";

if (is_uploaded_file($fileatt)) {
// Read the file to be attached ('rb' = read binary)
$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);

// Generate a boundary string
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

// Add the headers for a file attachment
$headers .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";

// Add a multipart boundary above the plain message
$message = "This is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type: text/plain; charset=\"iso-8859-1\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$message . "\n\n";

// Base64 encode the file data
$data = chunk_split(base64_encode($data));

// Add file attachment to the message
$message .= "--{$mime_boundary}\n" .
"Content-Type: {$fileatt_type};\n" .
" name=\"{$fileatt_name}\"\n" .
//"Content-Disposition: attachment;\n" .
//" filename=\"{$fileatt_name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n" .
"--{$mime_boundary}--\n";
}

// Send the message
$ok = @mail($to, $subject, $message, $headers);
if ($ok) {
echo "<p>Mail sent! Yay PHP!</p>";
} else {
echo "<p>Mail could not be sent. Sorry!</p>";
}
?>

lo que no puedo y no se como hacer es que cuando, agrego un nuevo campo de texto, que lo recoja y lo envie por mail.
trabajo con asp pero necesito este en php por cuestiones de servidor por lo que segun mi logica asociada a asp. deberia agregar esto en el codigo de envia-mail.php: $produto = $_POST['producto']; suponiendoq ue logiamente en la pagina 1 hubiera agregado un campo de texto con el valor "producto" no?.
He probado esto ultimo y agrege esto en la linea
// Send the message
$ok = @mail($to, $subject, $message, $headers,$producto );
Y no he podido lograr que lo envie al mai.

Si alguien me echa una mano estare agradecido.
__________________
CRISTIANF
Talen ese arbol, que me tapa el bosque!!! :censura:
  #2 (permalink)  
Antiguo 21/07/2009, 15:38
Avatar de ACX_POISON  
Fecha de Ingreso: abril-2008
Ubicación: Talca-Chile
Mensajes: 750
Antigüedad: 16 años
Puntos: 7
Respuesta: recoger valor de formulario y enviarlo por mail

veamos.. no se si te entiendo bien, pero si quieres que el "producto" se envie junto al mensaje deberias concatenar el valor de prodocto al cuerpo del mensaje y no como otro parametro para la funcion mail...
Código PHP:
$message.="El producto es.:".$producto;
if(
mail($to$subject$message$headers))
{
echo
"Mensaje enviado";
}
else
{
echo
"Fallo al Enviar Mensaje";

espero te sirva
__________________
Me junto con los que Saben, Queriendo Saber.
  #3 (permalink)  
Antiguo 21/07/2009, 16:45
 
Fecha de Ingreso: abril-2005
Mensajes: 112
Antigüedad: 19 años
Puntos: 0
Respuesta: recoger valor de formulario y enviarlo por mail

Agreg esa parte del codigo y no lo toma

El tema es el siguiente, tengo varios campos en el formulario

To (que tiene el mail de destino)
Subjetc (asutno del mensaje )
observaciones (texto)
Message: (tengo un campo de en el formulario llamado de esa manera)
etc.

El tema es que no se cual es la parte del codigo que toma los valores para luego pasarlos por mail. he intentando pero nno hhe dado conn la solucion.
__________________
CRISTIANF
Talen ese arbol, que me tapa el bosque!!! :censura:
  #4 (permalink)  
Antiguo 22/07/2009, 06:38
 
Fecha de Ingreso: abril-2005
Mensajes: 112
Antigüedad: 19 años
Puntos: 0
Respuesta: recoger valor de formulario y enviarlo por mail

Alguien sabra como enviar una imagen por mail a traves de un formulario con varios campos de texto?
__________________
CRISTIANF
Talen ese arbol, que me tapa el bosque!!! :censura:
  #5 (permalink)  
Antiguo 22/07/2009, 07:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: recoger valor de formulario y enviarlo por mail

Revisa phpmailer, tiene métodos para agregar imagenes y attachments en los correos.

Saludos.
  #6 (permalink)  
Antiguo 27/07/2009, 19:55
 
Fecha de Ingreso: abril-2005
Mensajes: 112
Antigüedad: 19 años
Puntos: 0
Respuesta: recoger valor de formulario y enviarlo por mail

Tema resuelto.
Lo hice con phpmailer gracias GATOR y Poison. por las respuestas
__________________
CRISTIANF
Talen ese arbol, que me tapa el bosque!!! :censura:
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:18.