baribu 0 Denunciar post Postado Abril 11, 2011 olá, sou novo em php e estou com alguns problemas, estou fazendo um formulário que envia os dados para o banco de dados e envia tb para o e-mail. o problema é que não banco de dados ele chega normal sem nenhum problema, e no e-mail chega estranho com uns caracteres tudo errada sempre onde tem acentos. já tentei fazer algumas coisas mais nada ainda, o formulário tá em charset=iso-8859-1 e a função que envia.php tb , já tentei tb com utf-8 com e sem bom, e ainda continua chegando errado no e-mail. estou fazendo alguma coisa errada ? Obg <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <?php // fun??es para salvar no banco de dados e enviar por e-mail $conexao = mysql_connect ("banco","usuário","senha"); $banco = mysql_select_db ("tabela", $conexao) ; $formato ="\ncontent-type:text/html\n" ; global $msg ; if ($_GET['funcao'] == "web") { $nome = $_POST['nome'] ; $email = $_POST['email'] ; $telefone = $_POST['telefone'] ; $cidade = $_POST['cidade'] ; $estado = $_POST['estado'] ; $representacao = $_POST['representacao'] ; $atuacao = $_POST['atuacao'] ; $identidade = $_POST['identidade'] ; $administracao = $_POST['administracao'] ; $site = $_POST['site'] ; $sobre = $_POST['sobre'] ; $gravar = mysql_query ("INSERT INTO webdesigner (nome, email, telefone, cidade, estado, representacao, atuacao, identidade, administracao, site, sobre) value ('$nome', '$email', '$telefone', '$cidade', '$estado', '$representacao', '$atuacao', '$identidade', '$administracao', '$site', '$sobre')"); $msg .= "<b> Nome: </b> $nome <br>" ; $msg .= "<b> E-mail: </b> $email <br>" ; $msg .= "<b> Telefone: </b> $telefone <br>" ; $msg .= "<b> Cidade: </b> $cidade <br>" ; $msg .= "<b> Estado: </b> $estado <br>" ; $msg .= "<b> Representa??o: </b> $representacao <br>" ; $msg .= "<b> ?rea de atua??o: </b> $atuacao <br>" ; $msg .= "<b> Identidade visual: </b> $identidade <br>" ; $msg .= "<b> Administra??o: </b> $administracao <br>" ; $msg .= "<b> Site ref?ncia: </b> $site <br>" ; $msg .= "<b> Sobre o projeto: </b> $sobre <br>" ; mail("email", "Formulário de contato","$msg","from: ".$email.$formato) ; } if ($_GET['funcao'] == "outros") { $nome = $_POST['nome'] ; $email = $_POST['email'] ; $telefone = $_POST['telefone'] ; $cidade = $_POST['cidade'] ; $estado = $_POST['estado'] ; $representacao = $_POST['representacao'] ; $atuacao = $_POST['atuacao'] ; $servicos = $_POST['servicos']; $sobre = $_POST['sobre'] ; $gravar = mysql_query ("INSERT INTO outros (nome, email, telefone, cidade, estado, representacao, atuacao, servicos, sobre) value ('$nome', '$email', '$telefone', '$cidade', '$estado', '$representacao', '$atuacao', '$servicos', '$sobre')"); $msg .= "<b> Nome: </b> $nome <br>" ; $msg .= "<b> E-mail: </b> $email <br>" ; $msg .= "<b> Telefone: </b> $telefone <br>" ; $msg .= "<b> Cidade: </b> $cidade <br>" ; $msg .= "<b> Estado: </b> $estado <br>" ; $msg .= "<b> Representa??o: </b> $representacao <br>" ; $msg .= "<b> ?rea de atua??o: </b> $atuacao <br>" ; $msg .= "<b> Tipo de servi?os: </b> $servicos <br>" ; $msg .= "<b> Sobre o projeto: </b> $sobre <br>" ; mail("email", "Formulário de contato ","$msg","from: ".$email.$formato) ; } if ($_GET['funcao'] == "contato") { $nome = $_POST ['nome'] ; $email = $_POST['email'] ; $assunto = $_POST['assunto' ] ; $mensagem = $_POST['mensagem'] ; $gravar = mysql_query ("INSERT INTO contato (nome, email, assunto, mensagem) value ('$nome', '$email', '$assunto', '$mensagem')"); $msg .= "<b> Nome: </b> $nome <br>" ; $msg .= "<b> E-mail: </b> $email <br>" ; $msg .= "<b> Assunto: </b> $assunto <br>" ; $msg .= "<b> Mensagem: </b> $mensagem <br>" ; mail("email", "Formulário de contato ","$msg","from: ".$email.$formato) ; } echo "<script>window.location='confirmacao.html';</script>"; ?> Então o formulário está funcionando perfeitamente, são três formulários. se tiverem tb alguma dica ou melhora para o formulário eu agradeço ! Compartilhar este post Link para o post Compartilhar em outros sites
jnejunior 1 Denunciar post Postado Abril 11, 2011 todos os campos apareçem com caracteres estranhos? tenta usar utf8_encode(), e se não der certo o utf8_decode(); vê se funciona... Compartilhar este post Link para o post Compartilhar em outros sites
baribu 0 Denunciar post Postado Abril 11, 2011 todos os campos apareçem com caracteres estranhos? tenta usar utf8_encode(), e se não der certo o utf8_decode(); vê se funciona... sim todos os campos, mais só no e-mail, no banco chega normal, como falei sou novo em php, é para usar o utf8_encode() assim " utf8_encode($nomedavariavel)" nas variáveis que vai para o e-mail ou em todas ? Compartilhar este post Link para o post Compartilhar em outros sites
jnejunior 1 Denunciar post Postado Abril 11, 2011 assim: tenta o encode, se não der certo usa o decode... usa principalmente nos campos que estão com caracteres estranhos... <?php // modo de usar $email = utf8_encode($email); ?> Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Abril 12, 2011 há vários modos de resolver, como no exemplo do jnejunior mas, já que você é novato, aconselho a aprender as boas práticas de programaçao e forma correta para se resolver, senão você ficará viciado em más práticas de programação, dificultando o seu progresso profissional com o tempo.. Compartilhar este post Link para o post Compartilhar em outros sites
baribu 0 Denunciar post Postado Abril 14, 2011 assim: tenta o encode, se não der certo usa o decode... usa principalmente nos campos que estão com caracteres estranhos... <?php // modo de usar $email = utf8_encode($email); ?> ok, vou tentar ! então fiz o que você falou e nada ainda, agora no lugar dos caracteres estranhos aparece no lugar dos acentos uma interrogação, tipo não aparece n? , eu usei assim : $mensagem = utf8_encode($_POST["mensagem"]); e decode tb , e agora ? :S há vários modos de resolver, como no exemplo do jnejunior mas, já que você é novato, aconselho a aprender as boas práticas de programaçao e forma correta para se resolver, senão você ficará viciado em más práticas de programação, dificultando o seu progresso profissional com o tempo.. é eu sei, eu ainda estou estudando, só que preciso desse formulário. Obg nada gente ? :S Compartilhar este post Link para o post Compartilhar em outros sites
baribu 0 Denunciar post Postado Abril 19, 2011 o problema já foi resolvido, tava no e-mail mesmo, para o meu e-mail do meu domínio tava dando erro, então eu botei um gmail e funcionou normal, deve ser algum problema com webmail da kinghost Compartilhar este post Link para o post Compartilhar em outros sites