Regresar   Forum Original-Design: Foro de tutoriales Dreamweaver y PSP > Tutoriales Orignal-Design > Tutoriales PHP y MySQL
FAQ / Ayuda Lista de usuarios Calendario Buscar Posts de hoy Marcar como leído

Votanos!

Votanos Votanos

Responder
 
Herramientas Buscar en esta discusión Estilo
  #1  
Old 10-05-2007, 06:16 PM
marting_234
 
Posts: n/a
Predeterminado Codigo para enviar un formulario con un adjunto, funciona

Copio y Pego el codigo y html y el segundo codigo que utiliza en php.

Aclaro como funciona por si alguien lo necesita:

Esto lo puse en un archivo htm y lo llame formulario:



<form name='formulario' id='formulario' method='post' action='mail_adjuntos.php' target='_self' enctype="multipart/form-data">
<p>Nombre <input type='text' name='Nombre' id='Nombre'></p>
<p>Apellidos <input type='text' name='Apellidos' id='Apellidos'></p>
<p>

E-mail <input type='text' name='E-mail' id='E-mail'></p>

<p>Adjuntar archivo: <input type='file' name='archivo1' id='archivo1'></p>
<p>
<input type='submit' value='Enviar formulario'>
</p>
</form>






Lo que esta mas abajo lo puse en un archivo php y lo llame (tiene que llamarse si o si): mail_adjuntos.php :


Esto lo puse en un archivo php y lo llame: mail_adjuntos.php :


<?php
function form_mail($sPara, $sAsunto, $sTexto, $sDe)
{
$bHayFicheros = 0;
$sCabeceraTexto = "";
$sAdjuntos = "";

if ($sDe)$sCabeceras = "From:".$sDe."\n";
else $sCabeceras = "";
$sCabeceras .= "MIME-version: 1.0\n";
foreach ($_POST as $sNombre => $sValor)
$sTexto = $sTexto."\n".$sNombre." = ".$sValor;

foreach ($_FILES as $vAdjunto)
{
if ($bHayFicheros == 0)
{
$bHayFicheros = 1;
$sCabeceras .= "Content-type: multipart/mixed;";
$sCabeceras .= "boundary=\"--_Separador-de-mensajes_--\"\n";

$sCabeceraTexto = "----_Separador-de-mensajes_--\n";
$sCabeceraTexto .= "Content-type: text/plain;charset=iso-8859-1\n";
$sCabeceraTexto .= "Content-transfer-encoding: 7BIT\n";

$sTexto = $sCabeceraTexto.$sTexto;
}
if ($vAdjunto["size"] > 0)
{
$sAdjuntos .= "\n\n----_Separador-de-mensajes_--\n";
$sAdjuntos .= "Content-type: ".$vAdjunto["type"].";name=\"".$vAdjunto["name"]."\"\n";;
$sAdjuntos .= "Content-Transfer-Encoding: BASE64\n";
$sAdjuntos .= "Content-disposition: attachment;filename=\"".$vAdjunto["name"]."\"\n\n";

$oFichero = fopen($vAdjunto["tmp_name"], 'r');
$sContenido = fread($oFichero, filesize($vAdjunto["tmp_name"]));
$sAdjuntos .= chunk_split(base64_encode($sContenido));
fclose($oFichero);
}
}

if ($bHayFicheros)
$sTexto .= $sAdjuntos."\n\n----_Separador-de-mensajes_----\n";
return(mail($sPara, $sAsunto, $sTexto, $sCabeceras));
}

//Ejemplo de como usar:
if (form_mail("mail_de_destino@hotmail.com","Asunto del mensaje",
"Los datos introducidos en el formulario son:\n\n", "mail_de_origen@mail.com"))
echo "Su formulario ha sido enviado con exito";
?>


Termino un renglon arriba el codigo php. Solo tienen que reemplazar mail_de_destino@hotmail.com por un mail de ustedes a donde llegara todo el formulario con el adjunto.

En: Asunto del mensaje, ponen como quieren que figure el asunto:

Y por ultimo: mail_de_origen@mail.com, aca ponen otra direccion de mail que tengan ustedes, esta haria una funcion como de ser la cuenta desde donde se estaria enviando el formulario, (no tiene nada que ver con la dire que despues coloque el usuario en el formulario, la del formulario funcionando es una cuenta que cada usuario quiera colocar).

Ej tengo la cuenta 123@yahoo.com y 123@hotmail.com las dos son mias y una la coloco reemplazando en donde dice: mail_de_destino@hotmail.com y la otro en donde dice: mail_de_origen@mail.com

Quedaria: mail_de_destino@hotmail.com reemplazo por: 123@yahoo.com aca es donde quiero que lleguen el formulario y el adjunto.

mail_de_origen@mail.com reemplazo por: 123@hotmail.com por ej.

Espero a alguien le sirva la explicacion.
Saludos
Un abrazo.






__________________________________________________ _________________________
Tengo mi pagina en http://econohosting.com.ar hosting gratis sin publicidades
http://Altayagoo.com super buscador tematico software freeware software gratis software demo peliculas divx subtitulos peliculas tapas cd
Citar y responder
  #2  
Old 10-05-2007, 06:28 PM
Avatar de wompygs
wompygs wompygs is offline
Administrador/a
 
Registrado: Apr 2007
Posts: 177
Predeterminado

Muy bueno marting!!
Gracias por compartirlo con nosotros
Citar y responder
  #3  
Old 11-09-2007, 03:15 AM
LobitoStyle
 
Posts: n/a
Predeterminado

bueno chevere gracias por el tuto pero la pregunta funca en cual kier hosting o solo en hostin pagado
Citar y responder
  #4  
Old 11-09-2007, 03:26 AM
LobitoStyle
 
Posts: n/a
Predeterminado

ahi por lo visto k e probado no funca nose me sale esto ps ..

Warning: mail() has been disabled for security reasons in /home/virtual/sitio148152/www/enviar un formulario/mail_adjuntos.php on line 44

nose pork sera
Citar y responder
  #5  
Old 11-09-2007, 04:15 AM
LobitoStyle
 
Posts: n/a
Predeterminado

no me funca nesecito de su ayuda
Citar y responder
  #6  
Old 11-09-2007, 04:21 AM
LobitoStyle
 
Posts: n/a
Predeterminado

miren lo k sale aca les dejo el url intente enviar algo y veran k sale ps

http://reportandoselobitostyle.websp...rio/index.html
Citar y responder
  #7  
Old 11-09-2007, 09:55 AM
Avatar de wompygs
wompygs wompygs is offline
Administrador/a
 
Registrado: Apr 2007
Posts: 177
Predeterminado

pues... algo estaremos haciendo mal.. (es que no veo tu código, por lo que no puedo decirte lo que esta mal), lo que esta claro es que es sobre la l*nea 44 xD, repasa el código, seguro que es algun ; o alguna tonteria. O mejor mira, en la web puse un tutorial explicando ese código con un ejemplo ya ehco que funciona perfectamente

Enviar email con archivo adjunto
hazlo as* a ver si te va
Un saludo
Citar y responder
  #8  
Old 11-25-2009, 05:09 PM
andrexyx andrexyx is offline
Novat@
 
Registrado: Nov 2009
Posts: 1
Predeterminado me funcciona de maravilla

De Ppp.Madre el script.... despues de aber buscando 2 dias me he encontrado esto y nada mas ponerlo "Voila" funcciona a la primera con 5 archivos seguidos........
Ahora, el problema que tengo es que alguien me enseñe modificarlo que no se pueda enviar nada mas que ".jpg" y que no sea mayor de 1 mega la foto o 5 mega el total del adjunto.... sabe alguien explicarme??
Gracias de antemano...
Citar y responder
  #9  
Old 01-07-2010, 01:50 AM
Avatar de wompygs
wompygs wompygs is offline
Administrador/a
 
Registrado: Apr 2007
Posts: 177
Predeterminado

Claro, puedes poner un if con esas condiciones y dentro de él todo el rollo.. y en el else tu mensaje de error cuando el archivo no cumpla tus condiciones, espero que me entiendas, el esquema seria algo asi:
if (que el archivo sea jpg y menor de x megas) {El email se procesa y se envia}
Else {Mensaje de Error, el archivo no es jpg o ocupa demasiado}
Citar y responder
  #10  
Old 02-10-2010, 09:38 AM
danielccm danielccm is offline
Novat@
 
Registrado: Feb 2010
Posts: 1
Predeterminado

Quote:
Originalmente publicado por wompygs Ver post
pues... algo estaremos haciendo mal.. (es que no veo tu código, por lo que no puedo decirte lo que esta mal), lo que esta claro es que es sobre la l*nea 44 xD, repasa el código, seguro que es algun ; o alguna tonteria. O mejor mira, en la web puse un tutorial explicando ese código con un ejemplo ya ehco que funciona perfectamente

Enviar email con archivo adjunto
hazlo as* a ver si te va
Un saludo
Genial este post.. ya lo estoy usando...

Pero... necesito que de paso me env*e unos campos que ya tengo con opciones... como hago para pasar esos campos (que estan en HTML) a este formulario?

GRACIAS!
Citar y responder
Responder


Herramientas Buscar en esta discusión
Buscar en esta discusión:

Búsqueda avanzada
Estilo

Reglas del foro
No puedes iniciar una discusión
No puedes responder a una discusión
No puedes agregar archivos adjuntos
No puedes editar tus posts

El código vB está activado
Emotíconos está activado
El código [IMG] está activado
El código HTML está desactivado
Ir a

Todas las horas son GMT. La hora es 05:59 AM.


Copyright 2007-2008