Ver Mensaje Individual
  #3 (permalink)  
Antiguo 29/05/2007, 13:37
franco_r3
 
Fecha de Ingreso: febrero-2007
Ubicación: Valparaiso, Chile.
Mensajes: 39
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Como Enviar Datos De Formulario Y Fichero Adjunto Por Mail

uff no entendi nada, no soy para nada experto en php.

encontre un codigo que realiza lo que quiero, realiza el envio de la informacion y el fichero sin problemas, pero me arroja unos errores, alguna forma de que no aparezcan? ya que la tarea la cumple tal como quiero.

este es el codigo que utilizo:
Cita:
<FORM ACTION="procesa_part.php" METHOD="POST" enctype="multipart/form-data" onsubmit="return valida(this);">
<P align="left"><span class="aajtextoGENERAL"><strong>1) Ingrese sus datos: </strong></span><strong> </strong></P>
<P align="left"><span class="aajtextoGENERAL">Nombre(s):</span> <input type="text" name="nombre" size="50" value="">
<span class="aajtextoGENERAL">* </span> </P>
<p align="left"><span class="aajtextoGENERAL">Apellido(s):</span> <input type="text" name="apellido" size="50" value="">
<span class="aajtextoGENERAL">*
</span> </P>

<p align="left"><span class="aajtextoGENERAL">Cargo:</span> <input type="text" name="cargo" size="30" value="">
<span class="aajtextoGENERAL">Organización:</span>
<input type="text" name="organizacion" size="" value="">
</P>

<p align="left"><span class="aajtextoGENERAL">Direcci&oacute;n:</span> <input type="text" name="direccion" size="72" value="">
</P>

<p align="left"><span class="aajtextoGENERAL">Tel&eacute;fono: </span>
<input type="text" name="fono" size="15" value="">
<span class="aajtextoGENERAL">Fax:</span>
<input type="text" name="fax" size="15" value="">
</p>

<p align="left"><span class="aajtextoGENERAL">E-mail:</span> <input type="text" name="email" size="30" value="">
<span class="aajtextoGENERAL">*
</span></p>
<p align="left"><span class="aajtextoGENERAL">Pa&iacute;s:</span> <SELECT NAME="pais">
<OPTION VALUE="Argentina">Argentina
<OPTION VALUE="Bolivia">Bolivia
<OPTION VALUE="Brasil">Brasil
<OPTION VALUE="Chile" SELECTED>Chile
<OPTION VALUE="Colombia">Colombia
<OPTION VALUE="Costa rica">Costa Rica
<OPTION VALUE="Ecuador">Ecuador
<OPTION VALUE="El salvador">El Salvador
<OPTION VALUE="Honduras">Honduras
<OPTION VALUE="México">México
<OPTION VALUE="Otro">Otro
<OPTION VALUE="Peru">Perú
<OPTION VALUE="Uruguay">Uruguay
<OPTION VALUE="Venezuela">Venezuela
</SELECT>

&nbsp;</p>
<p align="left" class="aajtextoGENERAL"><strong>2) Adjunte su curr&iacute;culo:</strong></p>
<p align="left">&nbsp;
<input type=file name="userfile">
<span class="aajtextoGENERAL">* </span></p>
<p align="center">
<INPUT TYPE=submit NAME="submit" VALUE="Enviar datos">
&nbsp;
</p>
</FORM>

Cita:
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";

Última edición por franco_r3; 29/05/2007 a las 13:41 Razón: me equivoque