Comunidad de diseño web y desarrollo en internet online

Codigo para enviar un formulario con un adjunto .php

Citar            
MensajeEscrito el 02 Sep 2007 09:32 pm
Codigo para enviar un formulario con un adjunto, funciona perfecto.

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("[email protected]","Asunto del mensaje",
"Los datos introducidos en el formulario son:\n\n", "[email protected]"))
echo "Su formulario ha sido enviado con exito";
?>


Termino un renglon arriba el codigo php. Solo tienen que reemplazar [email protected] 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: [email protected], 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 [email protected] y [email protected] las dos son mias y una la coloco reemplazando en donde dice: [email protected] y la otro en donde dice: [email protected]

Quedaria: [email protected] reemplazo por: [email protected] aca es donde quiero que lleguen el formulario y el adjunto.

[email protected] reemplazo por: [email protected] por ej.

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


___________________________________________________________________________
http://Altayagoo.com super buscador tematico autos automoviles automotores audiocar talleres repuestos

Por marting_234

6 de clabLevel



 

msie7
Citar            
MensajeEscrito el 03 Sep 2007 12:22 am
Excelente...
Quedaría mejor si pones las partes de código entre los tags BBCode [code][/code].

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 20 Oct 2007 05:44 pm
Ok lo estuve tratando de corregir para colocar el codigo entre los tags BBCode

Código :

, pero no encontre como editarlo, asi que lo voy a tener en cuenta para la proxima vez que postee.
Gracias
Saludos


___________________________________________________________________________
http://Altayagoo.com super buscador tematico bancos juegos flash codigos fuente javascript
http://Altayagoo.com/buscadores-superbuscadores7.php super directorio super buscador

Por marting_234

6 de clabLevel



 

msie
Citar            
MensajeEscrito el 29 Sep 2008 09:29 pm
Esta perfecto me funciono, pero.... como hago para que los campos sean obligatorios y no los dejen en blanco?

salds :lol:

Por fersho

6 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 25 Mar 2010 04:10 pm
Oigan tengo un problemilla pruebo mi formulario y no se envia, yo se que funciona con ese codigo PHP porque lo probe en otro servidor y si funciona el punto es que la gente del hosting me dice que es un problema de programación de que las variables que están al principio en function form_mail tengo que hacerles lago y yo soy diseñadora entiendo repoco de lo que me habla... alguien podria ayudarme porfavor por ultimo pa saber como buscarlo... a que se refiere este tipo.

Muchas gracias de antemano. ^^

Por bpereira

1 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.