Enviar imagen automaticamente al completar un form!

Tapioca Seguir

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
7 Jun 2013
Mensajes
106
Gente, me gustaria saber, puedo hacer con php un form, que cuando alguien lo complete , automaticamente mande al email que completaron en el campo email una imagen? (la imagen la colgaria en otro lado y lo que haria seria simplemente "llamarla")

Puedo hacerlo en un form simple como este?

<form action="contacto.php" method=post>
<fieldset><legend><h1>Formulario de contacto</h1></legend>

<table align="center">
<tr><td>Nombre</td>
<td>
<input type="text" value="Nombre" name="nombre">
</td>
</tr>
<tr><td>Email</td>
<td>
<input type="text" value="Email" name="email">
</td>
</tr>
<tr><td>&nbsp;</td>
<td>
<textarea cols="60" rows="10" name="coment">Escribí acá tu consulta acá</textarea>
</td>
<td>
<input type="submit" name="enviar" value="Enviar">
</td>
</tr>
</table>
</fieldset>
</form>
 

Lazarillo

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
16 Jun 2014
Mensajes
76
Una solución al problema que plantea puede ser mandarle un documento HTML que contenga la imagen por email. Añade este código al archivo contacto.php:
Insertar CODE, HTML o PHP:
<?php

//Guarda el email en la variable para
$para = $_POST['email'];
//Guarda el tema en una variable (puedes poner lo que desees)
$tema = "Sobre tu comentario en (nombre de tu web)";

//Guarda en mensaje el contenido que desea mandar
$mensaje = "
<html>
<head>
<title>(nombre de tu web o empresa)</title>
</head>
<body>
<!-- Inserte entre las comillas el enlace que lleva a la foto -->
<p><img src="(URL)" /></p>
</body>
</html>
";

// Hay que añadir la cabezera
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";

// Aun más específico (pon tu emailen ambos)
$headers .= 'From: <webmaster@example.com>' . "\r\n";
$headers .= 'Cc: myboss@example.com' . "\r\n";

//Función que manda el correo a través de los parámetros obtenidos anteriormente
mail($para,$tema,$mensaje,$headers);
?>

Para otra solución busque información acerca de PHPMailer.

PD: Si incluye el archivo contacto.php en su mensaje, podría ser más específico.
 
Última edición:

Tapioca

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
7 Jun 2013
Mensajes
106
PD: Si incluye el archivo contacto.php en su mensaje, podría ser más específico.

el archivo contacto.php es el que contiene ese codigo q puse en el post. llama al mismo archivo

---------- Post agregado el 17-jun-2014 hora: 14:31 ----------

no se xq, pero no me funciono!
Una solución al problema que plantea puede ser mandarle un documento HTML que contenga la imagen por email. Añade este código al archivo contacto.php:
Insertar CODE, HTML o PHP:
<?php

//Guarda el email en la variable para
$para = $_POST['email'];
//Guarda el tema en una variable (puedes poner lo que desees)
$tema = "Sobre tu comentario en (nombre de tu web)";

//Guarda en mensaje el contenido que desea mandar
$mensaje = "
<html>
<head>
<title>(nombre de tu web o empresa)</title>
</head>
<body>
<!-- Inserte entre las comillas el enlace que lleva a la foto -->
<p><img src="(URL)" /></p>
</body>
</html>
";

// Hay que añadir la cabezera
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";

// Aun más específico (pon tu emailen ambos)
$headers .= 'From: <webmaster@example.com>' . "\r\n";
$headers .= 'Cc: myboss@example.com' . "\r\n";

//Función que manda el correo a través de los parámetros obtenidos anteriormente
mail($para,$tema,$mensaje,$headers);
?>

Para otra solución busque información acerca de PHPMailer.

PD: Si incluye el archivo contacto.php en su mensaje, podría ser más específico.
 

Lazarillo

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
16 Jun 2014
Mensajes
76
el archivo contacto.php es el que contiene ese codigo q puse en el post. llama al mismo archivo

---------- Post agregado el 17-jun-2014 hora: 14:31 ----------

no se xq, pero no me funciono!
Hasta donde sé es, cuanto menos, raro que llames al mismo archivo tras completar un formulario. Lo que sería normal, por mi escasa experiencia, es que simplemente llames a otro archivo. Por ejemplo: desde el form llamas a mandarimagen.php, el código que te puse lo pegas en ese archivo y lo cambias a tu gusto; le cambias el $tema, añades la URL entre las comillas de img src (imprescindible) y cambias los dos últimos headers como quieras.
 

Feddy

Gamma
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Desde
13 Dic 2013
Mensajes
373
Edad
34
Si es todo en el mismo .php tenes que hacer que el mismo archivo determine si mostras el Form o si completas la accion del form. Un ejemplo basico podria ser:
PHP:
if(isset($_POST['email']))
{
// enviar email
}else
{
// Mostrar form, ya que no hay ningun email ingresado
}
 

Xkeeper

Gamma
Verificación en dos pasos activada
Verificado por Whatsapp
Desde
17 Dic 2012
Mensajes
419
Eso se haría con javascript. Para más comodidad, instala la librería jQuery.

HTML:
<script>
$(document).ready(function() {
	$('input, textarea').on('change', function() {
		var nombreVal = $('[name="nombre"]').val().trim();
		var emailVal = $('[name="email"]').val().trim();
		var comentVal = $('[name="coment"]').val().trim();
		if(nombreVal != '' && emailVal != '' && comentVal != '') $('[name="enviar"]').click();
	});
});
</script>
 
Última edición:
Arriba