rcdesign 1 Denunciar post Postado Novembro 10, 2004 Galera,O formulário de contato da página está funcionando direitinho... manda o e-mail formatado em html, tudo certinho... ou quase...o problema na verdade acontece quando o usuário preenche o formulário de contato e em determinado campo (comentários) ele pula linha (com a tecla Enter) para iniciar outro parágrafo.Quando a mensagem é recebida pelo e-mail de destinho essa quebra de linha não é interpretada... simplesmente aparece toda a mensagem deste campo em uma linha, um mesmo parágrafo...Como fazer para que as mudanças de parágrafos sejam interpretadas corretamente??Alguém sabe???? Compartilhar este post Link para o post Compartilhar em outros sites
fast 0 Denunciar post Postado Novembro 10, 2004 tenta nl2br($texto_do_email) .. Compartilhar este post Link para o post Compartilhar em outros sites
Rico_araujo 0 Denunciar post Postado Novembro 10, 2004 tenta a função str_replace('\n','<br>',$string); se nao me engano a sintaxe é esta mesma.. mais qualquer dúvida vai la no manual http://www.php.net http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
rcdesign 1 Denunciar post Postado Novembro 10, 2004 Eu já tinha pensado nisso Fast mas como o código que chama o campo já está em html, aí tudo que eu colocar antes do campo ele acaba escrevendo como se fizesse parte do texto digitado...o código está assim: <tr valign='top' align='left' bgcolor='#FFFFFF'> <td colspan='3'><span class='style2'>$comentarios</span></td></tr></table></body></html>";Desculpa a ignorância Rico mas como eu uso a função??? Compartilhar este post Link para o post Compartilhar em outros sites
Rico_araujo 0 Denunciar post Postado Novembro 10, 2004 seguinte toda vez que você da enter na tela o php entende ele como '\n', entao você vai dar um post na textarea assim$string = $_POST['textarea'];depois você faz as substituições$string = str_replace('\n','<br>',$string);echo $string; // para testar o codigoonde: str_replace vai pegar sua variável e ver se tem algum \n na sua caixa , se tiver ele substitui por <br> que é a quebra de linha do html ok? Compartilhar este post Link para o post Compartilhar em outros sites
fast 0 Denunciar post Postado Novembro 10, 2004 eh exatamente pra isso q serve o nl2br .... :huh: Compartilhar este post Link para o post Compartilhar em outros sites
Rico_araujo 0 Denunciar post Postado Novembro 10, 2004 com certeza existem várias funçoes parecidas com estashtmlspecialchars(), htmlentities(), wordwrap() Compartilhar este post Link para o post Compartilhar em outros sites
rcdesign 1 Denunciar post Postado Novembro 10, 2004 achei que eu tinha entendido e fiz isso: PHP [/tr][tr] $nome = $_POST['nome']; $email = $_POST['email']; $ddd = $_POST['ddd']; $telefone = $_POST['telefone']; $sobre = $_POST['sobre']; $comentarios = $_POST['comentarios']; $comentarios = str_replace('\n','<br>',$comentarios); [/tr] mas não mudou nada... continua aparecendo o texto na mesma linha.. Compartilhar este post Link para o post Compartilhar em outros sites
Rico_araujo 0 Denunciar post Postado Novembro 10, 2004 mais esta certo , agora no final você so tem que dar um echo $comentarios; Compartilhar este post Link para o post Compartilhar em outros sites
Wilker 3 Denunciar post Postado Novembro 10, 2004 eh melhor usar o nl2br() do que o str_replace()eu digo isso pq o nl2br() foi feito justamente com essa funcao, e logo, eh mais adaptavelem sistema windows uma nova linha nem sempre eh passada como \n, as vezes ela eh passada com \r\n, e podem haver esses tipos de erros com sistemas operacionais diferentes por causa disso com a funcao str_replace()ja a funcao nl2br() tem todas as adaptacoes nescessarias.flw Compartilhar este post Link para o post Compartilhar em outros sites
rcdesign 1 Denunciar post Postado Novembro 10, 2004 mas Rico... não pode ser "echo"... isso é um form mail... o form está sendo enviado por email em html não está sendo mostrado na página. o código html que chama esse campo é esse: //Inicio do Email para o Cliente $MailRecipiente = "rc@rcdesignbrasil.com"; //Coloque aqui o e-mail que vai receber $MailAssunto = $sobre; $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-15\r\n"; $headers .= "From: $email\r\n"; $msg = "<html><head><style type='text/css'><!--.style1 {font-family: Arial, Helvetica, sans-serif; font-weight: bold; font-size: 12px; }.style2 {font-family: Arial, Helvetica, sans-serif; font-size: 12px; }.style3 {font-family: Arial, Helvetica, sans-serif; font-weight: bold; font-size: 14px; }--></style></head><body><table width='100%' border='0' cellspacing='1' cellpadding='2' bgcolor='#003366'> <tr valign='top' bgcolor='#FFFFFF'> <td height='21' colspan='3'><span class='style3'>Formulário de Contato</span></td> </tr> <tr valign='top' bgcolor='#FFFFFF'> <td width='25%' height='21'><span class='style1'>Nome:</span></td> <td height='21' colspan='2'><span class='style2'>$nome</span></td> </tr> <tr valign='top' bgcolor='#FFFFFF'> <td width='25%' height='21'><span class='style1'>E-mail:</span></td> <td height='21' colspan='2'><span class='style2'>$email</span></td> </tr> <tr valign='top' bgcolor='#FFFFFF'> <td width='25%' height='21'><span class='style1'>Telefone:</span></td> <td height='21' colspan='2'><span class='style2'>$ddd - $telefone</span></td> </tr> <tr valign='top' bgcolor='#FFFFFF'> <td width='25%' height='21'><span class='style1'>Informações Sobre:</span></td> <td width='82%' height='21'><span class='style2'>$sobre</span></td> $sobre</tr> <tr valign='top' bgcolor='#FFFFFF'> <td height='21' colspan='3'><span class='style1'>Comentários:</span></td> </tr> <tr valign='top' align='left' bgcolor='#FFFFFF'> <td colspan='3'><span class='style2'>$comentarios</span></td></tr></table></body></html>"; $MandaEmail=mail($MailRecipiente,$MailAssunto,$msg,$headers); se eu colocar um echo para chamar o campo comentários a palavra vai ser escrita na mensagem do email... Compartilhar este post Link para o post Compartilhar em outros sites
Wilker 3 Denunciar post Postado Novembro 10, 2004 mas Rico... não pode ser "echo"...isso é um form mail... o form está sendo enviado por email em html não está sendo mostrado na página.o código html que chama esse campo é esse: //Inicio do Email para o Cliente $MailRecipiente = "rc@rcdesignbrasil.com"; //Coloque aqui o e-mail que vai receber $MailAssunto = $sobre; $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-15\r\n"; $headers .= "From: $email\r\n"; $msg = "<html><head><style type='text/css'><!--.style1 {font-family: Arial, Helvetica, sans-serif; font-weight: bold; font-size: 12px; }.style2 {font-family: Arial, Helvetica, sans-serif; font-size: 12px; }.style3 {font-family: Arial, Helvetica, sans-serif; font-weight: bold; font-size: 14px; }--></style></head><body><table width='100%' border='0' cellspacing='1' cellpadding='2' bgcolor='#003366'> <tr valign='top' bgcolor='#FFFFFF'> <td height='21' colspan='3'><span class='style3'>Formulário de Contato</span></td> </tr> <tr valign='top' bgcolor='#FFFFFF'> <td width='25%' height='21'><span class='style1'>Nome:</span></td> <td height='21' colspan='2'><span class='style2'>$nome</span></td> </tr> <tr valign='top' bgcolor='#FFFFFF'> <td width='25%' height='21'><span class='style1'>E-mail:</span></td> <td height='21' colspan='2'><span class='style2'>$email</span></td> </tr> <tr valign='top' bgcolor='#FFFFFF'> <td width='25%' height='21'><span class='style1'>Telefone:</span></td> <td height='21' colspan='2'><span class='style2'>$ddd - $telefone</span></td> </tr> <tr valign='top' bgcolor='#FFFFFF'> <td width='25%' height='21'><span class='style1'>Informações Sobre:</span></td> <td width='82%' height='21'><span class='style2'>$sobre</span></td> $sobre</tr> <tr valign='top' bgcolor='#FFFFFF'> <td height='21' colspan='3'><span class='style1'>Comentários:</span></td> </tr> <tr valign='top' align='left' bgcolor='#FFFFFF'> <td colspan='3'><span class='style2'>$comentarios</span></td></tr></table></body></html>"; $MandaEmail=mail($MailRecipiente,$MailAssunto,$msg,$headers);se eu colocar um echo para chamar o campo comentários a palavra vai ser escrita na mensagem do email... você n precisa dar echo kra, eh soh exibir a variavel, como você ta fazendo la mesmo, mais usa o nl2br() no lugar no str_replace() Compartilhar este post Link para o post Compartilhar em outros sites
rcdesign 1 Denunciar post Postado Novembro 10, 2004 Realmente Wilker... dessa forma PHP [/tr][tr] $nome = $_POST['nome']; $email = $_POST['email']; $ddd = $_POST['ddd']; $telefone = $_POST['telefone']; $sobre = $_POST['sobre']; $comentarios = $_POST['comentarios']; $comentarios = nl2br($comentarios); [/tr] funcionou... Obrigado pela força pessoal! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
fast 0 Denunciar post Postado Novembro 10, 2004 foi exatamente o q eu disse.. mas deixa quieto... q bom q você conseguiu.. Compartilhar este post Link para o post Compartilhar em outros sites