Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/08/2010, 12:18
luismtzrc
 
Fecha de Ingreso: agosto-2010
Mensajes: 1
Antigüedad: 13 años, 8 meses
Puntos: 0
Exclamación Acentos en Forma de Contacto

Que tal, amigos.

Tengo un problema con un formulario de contacto... Ya revise muchas de las opciones que dan en este foro, pero no he podido solucionarlo al 100%.

Resulta que mi formulario no aceptaba acentuaciones ni ñ. Ya cambie el iso por utf8 y funcionó en el mensaje que me dejan, pero el correo que me llega me despliega el nombre del contactante con caracteres especiales en lugar de letras acentuadas... por ejemplo: Luis Martìnez

Les dejo el codigo y espero que me puedan ayudar. Mil gracias!!

<?php

// VALUES FROM THE FORM
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['msg'];

// ERROR & SECURITY CHECKS
if ( ( !$email ) ||
( strlen($_POST['email']) > 200 ) ||
( !preg_match("#^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$#", $email) )
)
{
print "Error: Invalid E-Mail Address";
exit;
}
if ( ( !$name ) ||
( strlen($name) > 100 ) ||
( preg_match("/[:=@\<\>]/", $name) )
)
{
print "Error: Por favor, escribe tu nombre sin acentos ni simbolos";
exit;
}
if ( preg_match("#cc:#i", $message, $matches) )
{
print "Error: Found Invalid Header Field";
exit;
}
if ( !$message )
{
print "Error: No Message";
exit;
}
if (eregi("\r",$email) || eregi("\n",$email)){
print "Error: Invalid E-Mail Address";
exit;
}
if (FALSE) {
print "Error: You cannot send to an email address on the same domain.";
exit;
}


// CREATE THE EMAIL
$headers = "Content-Type: text/plain; charset=utf-8\n";
$headers .= "From: $name <$email>\n";
$recipient = "[email protected]";
$subject = "Mensaje recibido desde mipagina.com";
$message = wordwrap($message, 1024);

// SEND THE EMAIL TO YOU
mail($recipient,$subject,$message,$headers);

// REDIRECT TO THE THANKS PAGE
header("location: thanks.php");
?>