Estoy trabajando en un formulario que cuando recibo los campos me muestra mal los acentos y "ñ", la verdad no se que hacer ya, por que ese mismo código lo utilizo en la misma página pero para un formulario más complejo (con archivos adjuntos) y funciona perfectamente. Aqui dejo el código a ver si alguien me puede dar alguna ayuda.
Este es el formulario:
Código HTML:
<form class="form" id='enviar2' method='post' action='enviar.php' target='_self' onsubmit="return validate()"> <div class="control-group"> <input class="campos" type="text" placeholder="Nombre" name="Nombre" id="nombre"> </div> <div class="control-group"> <input class="campos" type="email" placeholder="E-mail" name="Email" id="email"> </div> <div class="control-group"> <input class="campos" type="text" placeholder="Móvil" name="Teléfono" id="telefono"> </div> <div class="control-group"> <textarea class="campos" rows="1" name="Comentario" placeholder="Su comentario" id="comentarios"></textarea> </div> <div class="control-group"> <p><input type="submit" value="Enviar formulario"></p> <span class="loading"></span> </div> </form>
Código 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=utf-8\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));
}
//cambiar aqui el email
if (form_mail("[email protected]", 'Solicitud de trabajo enviada',
"Los datos introducidos en el formulario son:\n\n", $_POST[email]))
header ('Location: index.php');
//echo "Su formulario ha sido enviado con exito";
?>