elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Funcion mail() y acentos y eñes
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Funcion mail() y acentos y eñes  (Leído 2,241 veces)
evilforces

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Funcion mail() y acentos y eñes
« en: 6 Agosto 2007, 16:58 pm »

Hola a tod@s!!! Resulta que tengo una pagina montada con php y el unico problema que tengo es que cuando la gente utiliza el formulario de contacto me llega el correo perfectamente pero no me pone las ñ ni los acentos (asi como caracteres especiales como arrobas, etc...)

He buscado mucho por internet y se que es un problema de la funcion mail, pero no se como solucionarlo. Os dejo el codigo del formulario a ver si me podeis hechar una mano. Gracias de antemano.

Código:
if (!defined('MODULE_FILE')) {
die ("You can't access this file directly...");
}

require_once("mainfile.php");
$module_name = basename(dirname(__FILE__));
get_lang($module_name);

/**********************************/
/* Configuration                  */
/*                                */
/* You can change this:           */
/* $index = 0; (right side off)   */
/**********************************/
$index = 1;
$subject = "$sitename "._FEEDBACK."";
/**********************************/

include("header.php");
$cookie[0] = intval($cookie[0]);
if ($cookie[1] != "") {
$row = $db->sql_fetchrow($db->sql_query("SELECT name, username, user_email FROM ".$user_prefix."_users WHERE user_id='$cookie[0]'"));
if ($row['name'] != "") {
$sender_name = $row['name'];
} else {
$sender_name = $row['username'];
}
$sender_email = $row['user_email'];
}

$form_block = "
    <center><font class=\"title\"><b>XATICAP - Asociación Xàtiva Carreras Populares</b></font>
    <br><br><font class=\"content\">"._FEEDBACKNOTE."</font>
    <FORM METHOD=\"post\" ACTION=\"modules.php?name=$module_name\">
    <P><strong>"._YOURNAME.":</strong><br>
    <INPUT type=\"text\" NAME=\"sender_name\" VALUE=\"$sender_name\" SIZE=30></p>
    <P><strong>"._YOUREMAIL.":</strong><br>
    <INPUT type=\"text\" NAME=\"sender_email\" VALUE=\"$sender_email\" SIZE=30></p>
    <P><strong>"._MESSAGE.":</strong><br>
    <TEXTAREA NAME=\"message\" COLS=70 ROWS=15 WRAP=virtual>$message</TEXTAREA></p>
    <INPUT type=\"hidden\" name=\"opi\" value=\"ds\">
    <P><INPUT TYPE=\"submit\" NAME=\"submit\" VALUE=\""._SEND."\"></p>
    </FORM></center>
";

OpenTable();
if ($opi != "ds") {
echo "$form_block";
} elseif ($opi == "ds") {
if ($sender_name == "") {
$name_err = "<center><font class=\"option\"><b><i>"._FBENTERNAME."</i></b></font></center><br>";
$send = "no";
}
if ($sender_email == "") {
$email_err = "<center><font class=\"option\"><b><i>"._FBENTEREMAIL."</i></b></font></center><br>";
$send = "no";
}
if ($message == "") {
$message_err = "<center><font class=\"option\"><b><i>"._FBENTERMESSAGE."</i></b></font></center><br>";
$send = "no";
}

if ($send != "no") {

$sender_name = $sender_name;
$sender_email = $sender_email;
$msg = "mipaginaweb.com\n\n";
$msg .= ""._SENDERNAME.": $sender_name\n";
$msg .= ""._SENDEREMAIL.": $sender_email\n";
$msg .= ""._MESSAGE.": $message\n\n";
$to = $adminmail;
$mailheaders = "From: $sender_name <$sender_email>\n";
$mailheaders .= "Reply-To: $sender_email\n\n";

mail($to, $subject, $msg, $mailheaders);
echo "<P><center>"._FBMAILSENT."</center></p>";
echo "<P><center>"._FBTHANKSFORCONTACT."</center></p>";
}




elseif ($send == "no") {
OpenTable2();
echo "$name_err";
echo "$email_err";
echo "$message_err";
CloseTable2();
echo "<br><br>";
echo "$form_block";
}
}

CloseTable();
include("footer.php");

?>


« Última modificación: 6 Agosto 2007, 17:41 pm por evilforces » En línea

yeikos


Desconectado Desconectado

Mensajes: 1.424



Ver Perfil
Re: Funcion mail() y acentos y eñes
« Respuesta #1 en: 7 Agosto 2007, 03:40 am »

Código
  1. <?php
  2. if (!defined('MODULE_FILE')) {
  3. die ("You can't access this file directly...");
  4. }
  5.  
  6. require_once("mainfile.php");
  7. $module_name = basename(dirname(__FILE__));
  8. get_lang($module_name);
  9.  
  10. /**********************************/
  11. /* Configuration                  */
  12. /*                                */
  13. /* You can change this:           */
  14. /* $index = 0; (right side off)   */
  15. /**********************************/
  16. $index = 1;
  17. $subject = "$sitename "._FEEDBACK."";
  18. /**********************************/
  19.  
  20. include("header.php");
  21. $cookie[0] = intval($cookie[0]);
  22. if ($cookie[1] != "") {
  23. $row = $db->sql_fetchrow($db->sql_query("SELECT name, username, user_email FROM ".$user_prefix."_users WHERE user_id='$cookie[0]'"));
  24. if ($row['name'] != "") {
  25. $sender_name = $row['name'];
  26. } else {
  27. $sender_name = $row['username'];
  28. }
  29. $sender_email = $row['user_email'];
  30. }
  31.  
  32. $form_block = "
  33.    <center><font class=\"title\"><b>XATICAP - Asociación Xàtiva Carreras Populares</b></font>
  34.    <br><br><font class=\"content\">"._FEEDBACKNOTE."</font>
  35.    <FORM METHOD=\"post\" ACTION=\"modules.php?name=$module_name\">
  36.    <P><strong>"._YOURNAME.":</strong><br>
  37.    <INPUT type=\"text\" NAME=\"sender_name\" VALUE=\"$sender_name\" SIZE=30></p>
  38.    <P><strong>"._YOUREMAIL.":</strong><br>
  39.    <INPUT type=\"text\" NAME=\"sender_email\" VALUE=\"$sender_email\" SIZE=30></p>
  40.    <P><strong>"._MESSAGE.":</strong><br>
  41.    <TEXTAREA NAME=\"message\" COLS=70 ROWS=15 WRAP=virtual>$message</TEXTAREA></p>
  42.    <INPUT type=\"hidden\" name=\"opi\" value=\"ds\">
  43.    <P><INPUT TYPE=\"submit\" NAME=\"submit\" VALUE=\""._SEND."\"></p>
  44.    </FORM></center>
  45. ";
  46.  
  47. OpenTable();
  48. if ($opi != "ds") {
  49. echo "$form_block";
  50. } elseif ($opi == "ds") {
  51. if ($sender_name == "") {
  52. $name_err = "<center><font class=\"option\"><b><i>"._FBENTERNAME."</i></b></font></center><br>";
  53. $send = "no";
  54. }
  55. if ($sender_email == "") {
  56. $email_err = "<center><font class=\"option\"><b><i>"._FBENTEREMAIL."</i></b></font></center><br>";
  57. $send = "no";
  58. }
  59. if ($message == "") {
  60. $message_err = "<center><font class=\"option\"><b><i>"._FBENTERMESSAGE."</i></b></font></center><br>";
  61. $send = "no";
  62. }
  63.  
  64. if ($send != "no") {
  65.  
  66. $sender_name = $sender_name;
  67. $sender_email = $sender_email;
  68. $msg = "mipaginaweb.com\n\n";
  69. $msg .= ""._SENDERNAME.": $sender_name\n";
  70. $msg .= ""._SENDEREMAIL.": $sender_email\n";
  71. $msg .= ""._MESSAGE.": $message\n\n";
  72. $to = $adminmail;
  73. $mailheaders = "From: $sender_name <$sender_email>\n";
  74. $mailheaders .= "Reply-To: $sender_email\n";
  75. $mailheaders .= "Content-type: text/html; charset=iso-8859-1 \r\n\n";
  76. mail($to, $subject, utf8_decode($msg), $mailheaders);
  77. echo "<P><center>"._FBMAILSENT."</center></p>";
  78. echo "<P><center>"._FBTHANKSFORCONTACT."</center></p>";
  79. }
  80.  
  81.  
  82.  
  83.  
  84. elseif ($send == "no") {
  85. OpenTable2();
  86. echo "$name_err";
  87. echo "$email_err";
  88. echo "$message_err";
  89. CloseTable2();
  90. echo "<br><br>";
  91. echo "$form_block";
  92. }
  93. }
  94.  
  95. CloseTable();
  96. include("footer.php");
  97.  
  98. ?>


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines