ROGERIO1 0 Denunciar post Postado Agosto 17, 2010 Boa Tarde pessoal sou iniciante em php e montei um codigo para um formulario esta funcionando normalmente mas quando algum usuario coloca acento nas letras eu recebo ele NO E-MAIL totalmente desconfigurado com simbolos. Percebi que o unico navegador que nao da esse problema e o internet explore e se eu apontar o e-mail de recebimento para um do gmail ou hotmail chega normalmente sem nenhum simbolo. Vou colocar o formulario em html e o codigo em php. Espero que alguem possa me ajudar e desde ja agradeço a todos. FORMULARIO NA PAGINA HTML (CONTATO) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <script language="JavaScript" type="text/JavaScript"> <!-- function MM_findObj(n, d) { //v1.0 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers.document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_validateForm() { //v1.0 var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments; for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args); if (val) { nm=val.name; if ((val=val.value)!="") { if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@'); if (p<1 || p==(val.length-1)) errors+='- '+nm+' seu email esta incorreto.\n'; } else if (test!='R') { num = parseFloat(val); if (isNaN(val)) errors+='- '+nm+' must contain a number.\n'; if (test.indexOf('inRange') != -1) { p=test.indexOf(':'); min=test.substring(8,p); max=test.substring(p+1); if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n'; } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' é um campo obrigatório.\n'; } } if (errors) alert('Há campos em branco. Por Favor preencha corretamente:\n\n'+errors); document.MM_returnValue = (errors == ''); } //--> </script> <body> <table width="100%" bgcolor="#F2F4F4" border="1" cellpadding="1" cellspacing="1"> <tr> <td><p> Para que seu contato seja efetuado com sucesso,<br /> Preencha seus dados corretamente!<br/><br/><br/> <form action="enviar.php" method="post" name="formulario" id="formulario" onSubmit="return avaliaCampos(this)"> <p> Nome:<br /> <input name="nome" type="text" title="Nome" size="45" id="nome" /> </p> <p><br /> Cidade e Bairro:<br /> <input name="cidade" type="text" title="cidade" size="45" id="cidade" /> </p> <p><br /> E-Mail:<br /> <input name="email" type="text" title="email" size="45" id="email"/> </p> <p><br /> Assunto: <br /> <input name="assunto" type="text" title="assunto" size="45" id="assunto"/> </p> <p><br /> Mensagem: <br /> <textarea name="mensagem" title="Digite sua Mensagem" cols="48" rows="7" id="mensagem"></textarea> </p> <p><br /> <input name="Enviar" type="submit" value="Enviar" onClick="MM_validateForm('nome','','R','cidade','','R','ddd','','R','telefone','','R','email','','RisEmail','assunto','','R','mensagem','','R','textarea','','R');return document.MM_returnValue" /> <input name="Limpar" type="reset" value="Limpar" /> </p> </form> </p></td> </tr> </table> </body> </html> CODIGO PHP <?php $nome = $_POST['nome']; $cidade = $_POST['cidade']; $email = $_POST['email']; $assunto = $_POST['assunto']; $mensagem = $_POST['mensagem']; $msg = "<font color= '#FF6600' size='1' face=' Arial'><strong><b>Nome:</b> \t$nome</strong></font><br>"; $msg .= "<font color= '#FF6600' size='1' face=' Arial'><strong><b>Cidade:</b> \t$cidade</strong></font><br>"; $msg .= "<font color= '#FF6600' size='1' face=' Arial'><strong><b><b>E-mail:</b> \t$email</strong></font><br>"; $msg .= "<font color= '#FF6600' size='1' face=' Arial'><strong><b>Assunto:</b> \t$assunto</strong></font><br>"; $msg .= "<font color= '#FF6600' size='1' face=' Arial'><strong><b>Mensagem:</b> \t$mensagem</strong></font>"; global $email; $data = date("d/m/y"); $ip = $_SERVER['REMOTE_ADDR']; $navegador = $_SERVER['HTTP_USER_AGENT']; $hora = date("H:i"); $nome_do_site="MEUSITE.com.br"; $nome_de_quem_recebe_a_mensagem = "NOME DE QUEM RECEBE"; $assunto = "Contato pelo site"; mail ("MEUE-MAIL@MEUSITE.com.br", "$assunto", "Data: $data\nHora: $hora\n\nIp: $ip\nNavegador: $navegador\n\nNome: $nome\nCidade: $cidade\nE-mail: $email\nAssunto: $assunto\n\nMensagem: $mensagem", "From: $email" ); $site = "www.MEUSITE.com.br"; $titulo = "RE:Contato do Site "; $msg = "Muito obrigado $nome por ter entrado em contato. Este é um e-mail automático, favor não responde-lo! Em breve lhe enviaremos uma resposta. Atenciosamente, \n$nome_de_quem_recebe_a_mensagem - $nome_do_site\n\nDate: $data\nhHora: $hora"; mail("$email", "$titulo", "$msg", "From: $site" ); echo "<p align=center><strong>$nome, sua mensagem foi enviada com sucesso!</strong></p>"; echo "<p align=center><strong>Estaremos retornando em breve.</strong></p>"; ?> <!-- depois de enviado o email... --> <script language="JavaScript">alert('Retornando ao site - Pagina Inicial!'); location.href='index.html';</script> <!-- retorna para o formulário.. --> Compartilhar este post Link para o post Compartilhar em outros sites
ROGERIO1 0 Denunciar post Postado Agosto 17, 2010 Esse negocio esta difícil pq ninguém respondeu e eu não achei nenhuma solução ainda. continuo no aguardo. Compartilhar este post Link para o post Compartilhar em outros sites
ROGERIO1 0 Denunciar post Postado Agosto 17, 2010 JA FOI RESOLVIDO PELO BRUNO CAPELLA ERA SO COLOCAR NO PHP E NO META DO HTML ESSE CODIGO $headers .= "Content-type: text/html; charset=iso-8859-1\n"; OBRIGADO AO BRUNO QUE FOI O UNICO QUE ME RESPONDEU PELO E-MAIL. Compartilhar este post Link para o post Compartilhar em outros sites
ROGERIO1 0 Denunciar post Postado Agosto 18, 2010 Resolvido Boa Tarde pessoal sou iniciante em php e montei um codigo para um formulario esta funcionando normalmente mas quando algum usuario coloca acento nas letras eu recebo ele NO E-MAIL totalmente desconfigurado com simbolos. Percebi que o unico navegador que nao da esse problema e o internet explore e se eu apontar o e-mail de recebimento para um do gmail ou hotmail chega normalmente sem nenhum simbolo. Vou colocar o formulario em html e o codigo em php. Espero que alguem possa me ajudar e desde ja agradeço a todos. FORMULARIO NA PAGINA HTML (CONTATO) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <script language="JavaScript" type="text/JavaScript"> <!-- function MM_findObj(n, d) { //v1.0 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers.document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_validateForm() { //v1.0 var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments; for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args); if (val) { nm=val.name; if ((val=val.value)!="") { if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@'); if (p<1 || p==(val.length-1)) errors+='- '+nm+' seu email esta incorreto.\n'; } else if (test!='R') { num = parseFloat(val); if (isNaN(val)) errors+='- '+nm+' must contain a number.\n'; if (test.indexOf('inRange') != -1) { p=test.indexOf(':'); min=test.substring(8,p); max=test.substring(p+1); if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n'; } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' é um campo obrigatório.\n'; } } if (errors) alert('Há campos em branco. Por Favor preencha corretamente:\n\n'+errors); document.MM_returnValue = (errors == ''); } //--> </script> <body> <table width="100%" bgcolor="#F2F4F4" border="1" cellpadding="1" cellspacing="1"> <tr> <td><p> Para que seu contato seja efetuado com sucesso,<br /> Preencha seus dados corretamente!<br/><br/><br/> <form action="enviar.php" method="post" name="formulario" id="formulario" onSubmit="return avaliaCampos(this)"> <p> Nome:<br /> <input name="nome" type="text" title="Nome" size="45" id="nome" /> </p> <p><br /> Cidade e Bairro:<br /> <input name="cidade" type="text" title="cidade" size="45" id="cidade" /> </p> <p><br /> E-Mail:<br /> <input name="email" type="text" title="email" size="45" id="email"/> </p> <p><br /> Assunto: <br /> <input name="assunto" type="text" title="assunto" size="45" id="assunto"/> </p> <p><br /> Mensagem: <br /> <textarea name="mensagem" title="Digite sua Mensagem" cols="48" rows="7" id="mensagem"></textarea> </p> <p><br /> <input name="Enviar" type="submit" value="Enviar" onClick="MM_validateForm('nome','','R','cidade','','R','ddd','','R','telefone','','R','email','','RisEmail','assunto','','R','mensagem','','R','textarea','','R');return document.MM_returnValue" /> <input name="Limpar" type="reset" value="Limpar" /> </p> </form> </p></td> </tr> </table> </body> </html> CODIGO PHP <?php $nome = $_POST['nome']; $cidade = $_POST['cidade']; $email = $_POST['email']; $assunto = $_POST['assunto']; $mensagem = $_POST['mensagem']; $msg = "<font color= '#FF6600' size='1' face=' Arial'><strong><b>Nome:</b> \t$nome</strong></font><br>"; $msg .= "<font color= '#FF6600' size='1' face=' Arial'><strong><b>Cidade:</b> \t$cidade</strong></font><br>"; $msg .= "<font color= '#FF6600' size='1' face=' Arial'><strong><b><b>E-mail:</b> \t$email</strong></font><br>"; $msg .= "<font color= '#FF6600' size='1' face=' Arial'><strong><b>Assunto:</b> \t$assunto</strong></font><br>"; $msg .= "<font color= '#FF6600' size='1' face=' Arial'><strong><b>Mensagem:</b> \t$mensagem</strong></font>"; global $email; $data = date("d/m/y"); $ip = $_SERVER['REMOTE_ADDR']; $navegador = $_SERVER['HTTP_USER_AGENT']; $hora = date("H:i"); $nome_do_site="MEUSITE.com.br"; $nome_de_quem_recebe_a_mensagem = "NOME DE QUEM RECEBE"; $assunto = "Contato pelo site"; mail ("MEUE-MAIL@MEUSITE.com.br", "$assunto", "Data: $data\nHora: $hora\n\nIp: $ip\nNavegador: $navegador\n\nNome: $nome\nCidade: $cidade\nE-mail: $email\nAssunto: $assunto\n\nMensagem: $mensagem", "From: $email" ); $site = "www.MEUSITE.com.br"; $titulo = "RE:Contato do Site "; $msg = "Muito obrigado $nome por ter entrado em contato. Este é um e-mail automático, favor não responde-lo! Em breve lhe enviaremos uma resposta. Atenciosamente, \n$nome_de_quem_recebe_a_mensagem - $nome_do_site\n\nDate: $data\nhHora: $hora"; mail("$email", "$titulo", "$msg", "From: $site" ); echo "<p align=center><strong>$nome, sua mensagem foi enviada com sucesso!</strong></p>"; echo "<p align=center><strong>Estaremos retornando em breve.</strong></p>"; ?> <!-- depois de enviado o email... --> <script language="JavaScript">alert('Retornando ao site - Pagina Inicial!'); location.href='index.html';</script> <!-- retorna para o formulário.. --> Compartilhar este post Link para o post Compartilhar em outros sites