Enviar mi logotipo en el formulario

Estoy buscando los códigos para un formulario que incluya el envío de la imagen de mi logotipo tipo; "logo.gif"

2 Respuestas

Respuesta
1
La verdad no entendí bien pero lo que quieres es poder cargar a tu BD una imagen te recomiendo que guardes en una carpeta del servidor ("productos/") la imagen y no en la BD y en la BD solo guarda la el nombre de la imagen, aquí te mando un ejemplo de formulario donde cargas insertas ala BD un registro, ya haz tus cambios respectivos:
<?php
if (isset($_POST['grabar'])) {
$max = 10000;
$nuevoDirectorio = "productos/";
if ($imagen_name=="") {
$imagen_name = "no_disponible.jpg";
} else {
$nuevoimagen=$imagen_name;
if (is_uploaded_file($HTTP_POST_FILES['imagen']['tmp_name'])) {
move_uploaded_file($imagen , $nuevoDirectorio.$nuevoimagen);
} else {
$error = "El fichero ha de ser menor a $max bytes y ser de los tipos permitidos";
}
}
if ($error == "El fichero ha de ser menor a $max bytes y ser de los tipos permitidos") {
//No realizo nada
} else {
if ($_POST['nombre']<>"" or $_POST['codigo']<>"") {
require_once('Connections/Sistema.php');
mysql_select_db($database_Sistema,$Sistema);
$consulta = "INSERT INTO producto (nombre,codigo,imagen) ";
$consulta .= " VALUES ('".$_POST['nombre']."','".$imagen_name."');";
$exe = mysql_query($consulta,$Sistema) or die(mysql_error());
echo "<SCRIPT LANGUAGE=\"javascript\">" ;
echo "location.href = \"administrador.php\" ";
echo "</SCRIPT>";
} else {
$error = "Tiene que rellenar todos los campos";
}
}
} else {
?>
<form action="" method="post" enctype="multipart/form-data" name="nuevo" id="nuevo">
<div style="padding-left:15px; padding-top:13px; padding-right:10px; font-size: 12px;">
<table width="430" border="0" align=center>
<tr>
<td width="96" align="left" valign="top"><strong>Nombre</strong></td>
<td width="388"><input name="nombre" type="text" id="nombre" size="50" value="<?php echo $_POST['nombre']; ?>"></td>
</tr>
<tr>
<td align="left" valign="top"><strong>Imagen</strong></td>
<td><input name="imagen" type="file" id="imagen" size="40" value="<?php echo $_POST['imagen']; ?>"></td>
</tr>
<tr>
<td align="center" valign="top" colspan="2"><input name="grabar" type="submit" value=" Grabar "></td>
</tr>
</table>
</div>
</form>
<?php
}
?>
Ojala te siva de ayuda en algo y espero tus dudas
Lo que busco es un formulario tipo "recomiendar web" y el destinatario reciba incluido la imagen tipo "logo.gif"
Bueno así se entiende un poco mejor para esto debes de crear un formulario donde aparezca por ejemplo la opción para poner un nombre y un email yal aceptar aceptar tu le enviaras un email, aquí te mando el código, espero te sirva y cualquier cosa esbribeme...
<?php
//codigo de inicio de sesión
session_start();
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_POST['nombre'])) {
if ($_POST['nombre']<>"" AND $_POST['email']<>"") {
//MANDAR E-MAIL
$from = "[email protected]";
$headers = "From: $from\r\n";
$headers .= "To: [email protected]\r\n";
// Ahora creamos el cuerpo del mensaje
$mensaje = "------------------------------------------------------------------------------- \n";
$mensaje.= " ....................... \n";
//Aquí es donde tienes que crear el mensaje dándole un formato HTML a tu mensaje, recuerda
//utilizar funciones como html_entity_decode
// Finalmente enviamos el mensaje
mail('[email protected]', $_POST['asunto'], $mensaje, $headers);
}
}
?>
<html>
<head>
</head>
<body topmargin="0" leftmargin="0" bottommargin="0" rightmargin="0">
<table height="80%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#50555B">
<form name="actualizar" action="<?php echo $editFormAction; ?>" method="POST">
<div style="padding-left:15px; padding-top:13px; padding-right:10px; font-size: 12px;">
<table width="350" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="90" valign="top" nowrap><strong>Nombre:</strong></td>
<td><input name="nombre" type="text" id="nombre" value="<?php echo $_POST['nombre']; ?>" size="35"></td>
</tr>
<tr>
<td width="90" valign="top" nowrap><strong>Email:</strong></td>
<td><input name="email" type="text" id="email" value="<?php echo $_POST['email']; ?>" size="35">
</td>
</tr>
<tr>
<td align="center" colspan="3">
<input name="submit" type="submit" id="submit" value="Enviar correo">
</td>
</tr>
</table>
</div>
</form>
</td>
</tr>
</table>
</body>
</html>
Lo subo al servidor y la página esta en blanco. si lo que busco es tipo esta pagina; http://www.portalmix.com/postales/elcastillo.php
Pero que sea sencillo
Bueno ahora si esto noes me rindo, es algo parecido al anetrior pero como dices algo como postal aquí esta, porque sino es me rindo X-P:
#Nombre del destnatario
$nomdesti = $POST["nombre_destino"];
#email del destinatario
$destino = $POST["correo_destino"];
$mensaje = $POST["mensaje"];
#src de la foto
$foto = $POST["foto"];
$page = "<html><body>";
$page .= "<b>Para:</b>$nomdesti<br>";
$page .= "<b>email:</b>$destino<br>";
$page .= "<b>Asunto:</b>$asunto<hr>";
$page .= "<b>comentario:</b><br>".nl2br($mensaje)."<br><hr>";
$page .= "<img src=$foto><hr><a href=$foto>Pulse aquí para ver la foto...</a><br>";
$page .= "</body></html>";
$cabeceras = "MIME-version: 1.0\n";
$cabeceras .= "Content-type: text/html; ";
$cabeceras .= "From:".$remite."\nReply-To:".$remite."\n";
$cabeceras .= "X-Mailer:PHP/".phpversion()."\n";
$cabeceras .= "Mime-Version: 1.0\n";
$cabeceras .= "Content-Type: text/html";
mail($destino,$asunto,"".stripslashes($page),"FROM : $nombre <$remite>\n$cabeceras");
?>
Ok si te sirve bacán, sino seguiré luchando jajaja
¡Muy buen código! Pero no, es mucho más sencillo lo que busco, es simplemente como las webs que envían postales, en lugar de la postal mi logo.
No esta vez tienes que copiar la parte del código anterior en la del segunda respuesta...
Gueno aqui esta el codigo adecuado, pero de todas maneras cambia tus variables y corrige lo que puedas ok y avisame asi te funciono porq a mi si me sale la imagen y todo espero te sirve x-(
<?php
//codigo de inicio de sesión
session_start();
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_POST['nombre'])) {
if ($_POST['nombre']<>"" AND $_POST['email']<>"") {
#Nombre del destnatario
$nomdesti = $POST["nombre"];
#email del destinatario
$destino = $POST["email"];
$asunto = "te recomiendo mi web";
$mensaje = "Aqui esta mi web";
#src de la foto
$foto = "images/tgestiona_logo.gif";
$page = "<html><body>";
$page .= "<b>Para:</b>$nomdesti<br>";
$page .= "<b>email:</b>$destino<br>";
$page .= "<b>Asunto:</b>$asunto<hr>";
$page .= "<b>comentario:</b><br>".nl2br($mensaje)."<br><hr>";
$page .= "<img src=$foto><hr><a href=$foto>Pulse aquí para ver la foto...</a><br>";
$page .= "</body></html>";
$from = "[email protected]";
$headers = "From: $from\r\n";
$headers .= "To: [email protected]\r\n";
#mail($destino,$asunto,"".stripslashes($page),"FROM : $nombre <$remite>\n$cabeceras");
mail('[email protected]',$asunto ,"".stripslashes($page), $headers);
echo $page;
}
}
?>
<html>
<head>
</head>
<body topmargin="0" leftmargin="0" bottommargin="0" rightmargin="0">
<table height="80%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#50555B">
<form name="actualizar" action="<?php echo $editFormAction; ?>" method="POST">
<div style="padding-left:15px; padding-top:13px; padding-right:10px; font-size: 12px;">
<table width="350" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="90" valign="top" nowrap><strong>Nombre:</strong></td>
<td><input name="nombre" type="text" id="nombre" value="<?php echo $_POST['nombre']; ?>" size="35"></td>
</tr>
<tr>
<td width="90" valign="top" nowrap><strong>Email:</strong></td>
<td><input name="email" type="text" id="email" value="<?php echo $_POST['email']; ?>" size="35">
</td>
</tr>
<tr>
<td align="center" colspan="3">
<input name="submit" type="submit" id="submit" value="Enviar correo">
</td>
</tr>
</table>
</div>
</form>
</td>
</tr>
</table>
</body>
</html>
¡Que grande que eres!
Esto es lo que buscaba, pero tengo una pregunta ¿cómo modificar el código para que lo envíe a la dirección email de la caja de texto del formulario principal?
También al pulsar en "Enviar correo" desde la primera página, y al abrirse la segunda página arriba no aparece en ningún campo tipo ; "Para: email: y Asunto:" los datos escritos en el formulario principal.
¿Qué es lo que se debe modificar?
Gueno en la paviables $_POST me olvide del "_", ahora ya te debe servir, gueno aqui te va el codigo y espero te haya servido, nos vemos...
<?php
//codigo de inicio de sesión
session_start();
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_POST['nombre'])) {
if ($_POST['nombre']<>"" AND $_POST['email']<>"") {
#Nombre del destnatario
$nomdesti = $_POST["nombre"];
#email del destinatario
$destino = $_POST["email"];
$asunto = $_POST['asunto'];
$mensaje = $_POST['mensaje'];
#src de la foto
$foto = "images/tgestiona_logo.gif";
$page = "<html><body>";
$page .= "<b>Para:</b>$nomdesti<br>";
$page .= "<b>email:</b>$destino<br>";
$page .= "<b>Asunto:</b>$asunto<hr>";
$page .= "<b>comentario:</b><br>".nl2br($mensaje)."<br><hr>";
$page .= "<img src=$foto><hr><a href=$foto>Pulse aquí para ver la foto...</a><br>";
$page .= "</body></html>";
$from = "[email protected]";
$headers = "From: $from\r\n";
$headers .= "To: [email protected]\r\n";
mail('[email protected]',$asunto ,"".stripslashes($page), $headers);
echo $page;
}
}
?>
<html>
<head>
</head>
<body topmargin="0" leftmargin="0" bottommargin="0" rightmargin="0">
<table height="80%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#50555B">
<form name="actualizar" action="<?php echo $editFormAction; ?>" method="POST">
<div style="padding-left:15px; padding-top:13px; padding-right:10px; font-size: 12px;">
<table width="350" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="90" valign="top" nowrap><strong>Nombre(*):</strong></td>
<td><input name="nombre" type="text" id="nombre" value="<?php echo $_POST['nombre']; ?>" size="35"></td>
</tr>
<tr>
<td width="90" valign="top" nowrap><strong>Email(*):</strong></td>
<td><input name="email" type="text" id="email" value="<?php echo $_POST['email']; ?>" size="35">
</td>
</tr>
<tr>
<td width="90" valign="top" nowrap><strong>Asunto(*):</strong></td>
<td><input name="asunto" type="text" id="asunto" value="<?php echo $_POST['asunto']; ?>" size="35">
</td>
</tr>
<tr>
<td width="90" valign="top" nowrap><strong>Mensaje(*):</strong></td>
<td width="213"><textarea name="mensaje" cols="40" rows="8" id="mensaje"><?php echo $_POST['mensaje']; ?></textarea></td>
</tr>
<tr>
<td align="center" colspan="3">
<input name="submit" type="submit" id="submit" value="Enviar correo">
</td>
</tr>
</table>
</div>
</form>
</td>
</tr>
</table>
</body>
</html>
Funciona al 90%.Te explico, tengo un problema al recibir el email, el url de la imagen sale rota, he modificado esto; $foto = "images/tgestiona_logo.gif";
con;
$foto = "http://www.a.com/images/tgestiona_logo.gif";
Y la imagen al recibir el email no sale,
¿Cómo se modifica? ¿Dónde tengo que poner la url completa?
Tienes 100% de razon, pero en la cuenta de mixmail sale con errores pero en hotmail sale 100% de bien.Mira este codigo hecho por mi haber si encuentras porque no me funciona;<head>
<title>ENVIO POSTALES</title>
</head>
<body bgcolor = "#303030">
<body text = "#E5E5E5">
<font face = "tahoma">
<font size = "2">
<body link = = "#e5e5e5" vlink = "E0E0E0">
<h3> <p align="center">
ENVIO POSTALES
</h3></p>
<hr size="8" color="ffffff"
<table border="1" width="100%"
<tr>
<td width="20%"><src="as.jpg"></td>
<td width="20%"><src="avatar.jpg"></td>
<td width="20%"><src="as.jpg"></td>
<td width="20%"><src="avatar.jpg"></td>
<td width="20%"><src="as.jpg"></td>
</tr>
</table>
<form name="form" action="enviapostal.php" method="post">
<p>Enviar postal a:  <input type="text" name="email" size="20">
</p>
<p>Titulo: <input type="text" name="asunto" size="20">
</p>
<p>Quien lo envia:; <input type="text" name="quien" size="20">
</p>
<p><select name="foto">
<option value ="as.jpg"> as.jpg</option>
<option> avatar.jpg</option>
<option> as.jpg</option>
<option> avatar.jpg</option>
<option> as.jpg</option>
</select>
</p>
<p><input type="submit" value="Enviar" name="Enviar">
</p>
</form>
Contenido de enviapostal.php;
<?
mail ($email,$asunto,$foto, 'From:'.$quien);
?>
La verdad el único error que he encontrado es en la linea de enviar el email:
mail($destino,$asunto ,"".stripslashes($page), $headers);
Acerca del enlace a mi si me sale y use esto:
$foto = "http://www.web.com/img/image.jpg";
A mi si me sale, ya no se como ayudarte X-P.
Muchas gracias por todo.
Ok, encontré algunos detalles pero no creo que influyan mucho a ver:
Utiliza esto en vez de varias lineas que llamen al body
<body bgcolor = "#303030" text = "#E5E5E5" link = "#e5e5e5" vlink = "E0E0E0">
igual para el font
<font face = "tahoma" size = "2">
En el combo donce cargas los nombres de las fotos, solo el primero tiene value el resto no
<option value ="as.jpg"> as.jpg</option> <option> avatar.jpg</option>
Otra cosa para usar la ruta de las fotos deben estar colgadas en tu servidor, ademas otra cosa lo que envías es html lo que se necesita es que los correos soporten html sino se verán las etiquetas.
Respuesta
1
Ah ok, quieres mandar un email en formato html. Ok
Tal como lo haces tu, no se si se puede hacer puesto que el "mailto:" lo que hace es abrirte tu gestor de correo y enviar el correo desde el pc del cliente (y el pc del cliente no tiene tu logo.) A no ser que el cliente se baje tu logo y lo adjunte al mensaje, no lo vas a poder hacer
Tendrás que currarte un script php para poder hacer lo que quieres
como este extraído de desarrolloweb.com
<?
$destinatario = "[email protected]";
$asunto = "Este mensaje es de prueba";
$cuerpo = '
<html>
<head>
<title>Prueba de correo</title>
</head>
<body>
<h1>Hola amigos!</h1>
<p>
<b>Bienvenidos a mi correo electrónico de prueba</b>. Estoy encantado de tener tantos lectores. Este cuerpo del mensaje es del artículo de envío de mails por PHP. Habría que cambiarlo para poner tu propio cuerpo. Por cierto, cambia también las cabeceras del mensaje.
</p>
</body>
</html>
';
//para el envío en formato HTML
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
//dirección del remitente
$headers .= "From: Miguel Angel Alvarez <[email protected]>\r\n";
//dirección de respuesta, si queremos que sea distinta que la del remitente
$headers .= "Reply-To: [email protected]\r\n";
//ruta del mensaje desde origen a destino
$headers .= "Return-path: [email protected]\r\n"
//direcciones que recibián copia
$headers .= "Cc: [email protected]\r\n";
//direcciones que recibirán copia oculta
$headers .= "Bcc: [email protected],[email protected]\r\n";
mail($destinatario,$asunto,$cuerpo,$headers)
?>
extraido de http://www.desarrolloweb.com/articulos/969.php
Quizá el ejemplo que te enseñe no fuera el correcto, lo que quiero decir es del tipo, como las webs que envían postales, que insertan email destino, un poco de texto, email de quien lo envía y la imagen, gracias. Espero que ahora me explique bien.
El formulario es del tipo:
<form name="eMailer">
ENVÍA ESTA PÁGINA A UN AMIGO
<br>
Indica su e-mail:
<br>
<input type="text" name="address" size="25">
<br>
<input type="button" value="Recomendá esta Web!" onClick="mailThisUrl();">
</form>
<script language="JavaScript1.2">
var good;
function checkEmailAddress(field) {
// the following expression must be all on one line...
var goodEmail = field.value.match(/\b(^(\S+@).+((\.com)|(\.net)|
(\.edu)|(\.mil)|(\.gov)|(\.org)|(\..{2,2}))$)\b/gi);
if (goodEmail){
good = true
} else {
alert('Por favor introduce un e-mail valido')
field.focus()
field.select()
good = false
}
}
u = window.location;
m = "Pienso que te puede interesar esta página...";
function mailThisUrl(){
good = false
checkEmailAddress(document.eMailer.address)
if (good){
// the following expression must be all on one line...
window.location = "mailto:"+document.eMailer.address.value+"?subject="+m+"&body="+document.title+" "+u;
}
}
</script>
Y quiero que incluya el envío de mi logo
¿No entiendo muy bien tu pregunta quieres enviar el logotipo por un formulario? ¿Con qué finalidad?
Para eso puedes hacer 2 cosas, si quieres que llegue la postal al correo del destinatario, es decir, si quieres que abra su mail y le salga la foto, tendrás que hacerlo como te he mencionado antes, enviando un mail en html.
si eso te da =, lo que puedes hacer es lo que hacen varias empresas con ese servicio, lo que envian es un mail con "Tal amigo te ha enviado una postal, ve a www.miraquepostalmasbonita.com/postal5.htm para verla"
¿Y dónde incluyo la imagen tipo imagen.gif? ¿El código subiéndolo al servidor esta funcional?
El código no creo que sea funcional, es un ejemplo. Pero con este ejemplo en la variable $mensaje, esta lo que vera el que reciba el mail. en vez de poner bienvenidos a mi correo de prueba si pones <img src="http://www.tupagina.com/logo.jpg"> saldra tu logo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas