Problema con formulario
2 seguidores
He creado una página con un formulario que envía la respuesta a una dirección de e-mail. Funciona bien, el correo llega, pero todos los datos introducidos en los campos del formulario aparecen mal escritos, bueno, concretamente con las tildes modificadas por símbolos. ¿cómo puedo solucionarlo?? GRacias, saludos
Doble W
Hola de nuevo Javier.
No has utilizado la funcion utf8_decode, es por esto que las variables de formulario ($_POST) te las "imprime" con carácteres raros, una solución sería:
<?php
//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo = "Formulario enviado\n";
$cuerpo .= "Nombre: " . utf8_decode($_POST["nombre"]) . "\n";
$cuerpo .= "Apellidos: " . utf8_decode($_POST["apellidos"]) . "\n";
$cuerpo .= "Empresa: " . utf8_decode($_POST["empresa"]) . "\n";
$cuerpo .= "e-mail.: " . utf8_decode($_POST["email"]) . "\n";
$cuerpo .= "Telefono: " . utf8_decode($_POST["telefono"]) . "\n";
$cuerpo .= "Otros datos: " . utf8_decode($_POST["otrosdatos"]) . "\n";
//mando el correo...
mail("micorreo","Formulario recibido",$cuerpo);
//doy las gracias por el envÌo
echo "Muchas gracias por confiar en nosotros. <br /> Su información ha sido enviada correctamente.
En breve nos pondremos en contacto con usted.";
?>
Con estos cambio te debería funcionar de lujo.
Saludos.
Javier Ojeda
No consigo dar con el resultado. Alguien me puede decir cómo hacerlo??
Este es el código:
<?php
//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo = "Formulario enviado\n";
$cuerpo .= "Nombre: " . $_POST["nombre"] . "\n";
$cuerpo .= "Apellidos: " . $_POST["apellidos"] . "\n";
$cuerpo .= "Empresa: " . $_POST["empresa"] . "\n";
$cuerpo .= "e-mail.: " . $_POST["email"] . "\n";
$cuerpo .= "Telefono: " . $_POST["telefono"] . "\n";
$cuerpo .= "Otros datos: " . $_POST["otrosdatos"] . "\n";
//mando el correo...
mail("micorreo","Formulario recibido",$cuerpo);
//doy las gracias por el envÌo
echo "Muchas gracias por confiar en nosotros. <br /> Su información ha sido enviada correctamente.
En breve nos pondremos en contacto con usted.";
?>
Javier Ojeda
Gracias Doble W,
Efectivamente, está creado en php. Me estudiaré la función que me comentas.
saludos
Doble W
Hola Javier.
Supongo que lo tendrás creado en PHP, entonces tiene problemas en la codificación de los carácteres. Esto es debido a que utilizas UTF-8 es por esto que te aparecerá para el caracter 'á' su correspondiente 'á '.
Para solucionar este problema debes utilizar "utf8_decode", te dejo la documentación de dicha función: http://es2.php.net/manual/es/function.utf8-decode.php.
Saludos.