Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ROGERIO1

[Resolvido] Formulario em php com erro no recebimento

Recommended Posts

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.