Ir para conteúdo
Fórum Script Brasil
  • 0

Campo De Mensagem Envia Texto Em Bloco


SSparsbrod

Pergunta

Olá pessoal !

Não sei se é uma sintaxe HTML ou do PHP que está fazendo isso, mas vamos lá.

Criei um formulário para enviar e-mails em HTML que está ótimo mas está acontecendo o seguinte: o form que envio chega em HTML mas todo texto que escrevo na caixa de mensagem como essa (a qual estou escrevendo agora) chega em um bloco só de texto, sem quebras, sem enter, só um bloco.

Alguém pode me dizer como resolver isso ?

Abraço a todos !

Sergio ;)

Link para o comentário
Compartilhar em outros sites

17 respostass a esta questão

Posts Recomendados

  • 0

Pessoal,

Para ficar mais fácil, segue o código PHP final para vocês avaliarem:

$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "From: " . $_POST['edtMail'] . "\r\n";
$headers .= "Bcc: Marketing <sergio@empresa.com.br>\n";

mail($to, $subject, $message, $headers);

header("Location: http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."pg_contato_obr.htm");
exit;
?>

Assim fica mais fácil de descobrir onde estou errando ;)

Acima das Headers vai o $message com o HTML dentro.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

A String $message está assim:

$message = '

<html>

<head>

<title>Quântica Internet Design - Contato</title>

......

e continua o código HTML até

......

<tr>

<td width="300"><b>Mensagem:</b></td>

</tr>

<tr>

<td width="300">' . $_POST['edtMessage']. '</td>

</tr>

</table>

</body>

</html>

';

Onde insiro exatamente essa String ?

Desculpem a pergunta, mas ainda sou muito iniciante em PHP. :)

Obrigado pela dica !

Link para o comentário
Compartilhar em outros sites

  • 0

Segue o código Glauco !

<?php

$to  = "Empresa <atendimento@empresa.com.br>";

$subject = "QID - Contato";

$message = '

<html>

<head>

<title>Quântica Internet Design - Contato</title>

<style type="text/css">

td {

        font-family: Verdana, Arial, Helvetica, sans-serif;

        font-size: 10px;

        font-style: normal;

        color: #666666;

        text-align: left;

  text-valign: top

        }

.t {

  font-family: Verdana, Arial, Helvetica, sans-serif;

        font-size: 13px;

        font-style: normal;

  font-weight: bold;

        color: #330099;

        text-align: left;

  text-valign: top

  }

</style>

</head>

<body>

<table width="300" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="300" class="t">Contato Página Fale Conosco<br><br></td>

</tr>

<tr>

<td width="300"><b>Nome:</b><br></td>

</tr>

<tr>

<td width="300">' . $_POST['edtName']. '</td>

</tr>

<tr>

<td width=300"><br><br></td>

</tr>

<tr>

<td width="300"><b>Empresa:</b></td>

</tr>

<tr>

<td width="300">' . $_POST['edtCompany] . '</td>

</tr>

<tr>

<td width="300"><br><br></td>

</tr>

<tr>

<td width="300"><b>Site:</b></td>

</tr>

<tr>

<td width="300">' . $_POST['edtSite'] . '</td>

</tr>

<tr>

<td width=300"><br><br></td>

</tr>

<tr>

<td width="300"><b>Telefone:</b></td>

</tr>

<tr>

<td width="300">' . $_POST['edtPhone] . '</td>

</tr>

<tr>

<td width="300"><br><br></td>

</tr>

<tr>

<td width="300"><b>Fax:</b></td>

</tr>

<tr>

<td width="300">' . $_POST['edtFax'] . '</td>

</tr>

<tr>

<td width=300"><br><br></td>

</tr>

<tr>

<td width="300"><b>E-mail:</b></td>

</tr>

<tr>

<td width="300">' . $_POST['edtMail] . '</td>

</tr>

<tr>

<td width="300"><br><br></td>

</tr>

<tr>

<td width="300"><b>Mensagem:</b></td>

</tr>

<tr>

<td width="300">' . $_POST['edtMessage'] . '</td>

</tr>

</table>

</body>

</html>

';

$headers = "MIME-Version: 1.0\n";

$headers .= "Content-type: text/html; charset=iso-8859-1\n";

$headers .= "From: " . $_POST['edtMail'] . "\r\n";

$headers .= "Bcc: Marketing <sergio@empresa.com.br>\n";

mail($to, $subject, $message, $headers);

header("Location: http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."pg_contato_obr.htm");

exit;

?>

Espero que ajude a entender ;)

Minha dúvida é entender o local para inserir a string que me passou.

Link para o comentário
Compartilhar em outros sites

  • 0

Bom o seu código tem algumas váveis que não será mostrada porque você botou a Variavel assim:

$message = 'Códigos HTML';
Se você colocar um váriavel dentro das tags da variavel $mensagem ele sairá na tela $nome_da_Variavel, entendeu???

Então faça assim:

$message = "Códigos HTML";

Com duas aspas, ai você pode colocar variaveis que ele serão reconhecidad pelo PHP.

Ai os códigos HTML coloque com uma aspa ou coloque um barra ivertida assim:

$message = "Códigos HTML <TABLE BORDER=\"0\">";
ou

$message = "Códigos HTML <TABLE BORDER='0'>";

entendeu???

Então fica assim o seu código:

<?php

$to  = "Empresa <atendimento@empresa.com.br>";

$subject = "QID - Contato";

// Aqui vai o código que falei

$message = nl2br($message);

$headers = "MIME-Version: 1.0\n";

$headers .= "Content-type: text/html; charset=iso-8859-1\n";

$headers .= "From: " . $_POST['edtMail'] . "\r\n";

$headers .= "Bcc: Marketing <sergio@empresa.com.br>\n";

mail($to, $subject, $message, $headers);

header("Location: http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."pg_contato_obr.htm");

exit;

?>

A variavel $message tem que vim de um formulário para o seu código funcionar, porque você utilizou header, para redirecionar.

Link para o comentário
Compartilhar em outros sites

  • 0

Glauco,

Fiz um teste mas a principio não funcionou, deu erro.

Não estou entendendo uma coisa: eu vou substituir a $message que estou usando pela $message = nl2br($message); ???

Não entendi, você pode me dar um exemplo melhor de como ficaria ?

Link para o comentário
Compartilhar em outros sites

  • 0

Acho mai fácil postar o que recebo do form ;)

Contato Página Fale Conosco

Nome:

Teste de quebra texto 2

Empresa:

QID

Site:

QID

Telefone:

3271-6060

Fax:

3227-2323

E-mail:

xxxx@xxxx.com.br

// Abaixo a mensagem que vai sem formatação, sem quebras de texto

// Aqui é o problema !

Mensagem:

nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, nonononononon, hajsihl;oiuhhahgpohafg afgahfg;ojhafoghoahfg;jhafg afgjhadfgjhadf;jhadfgkjhadfk;gjhkjhfg 

Link para o comentário
Compartilhar em outros sites

  • 0

Isso que eu passei, é ´somente para quebrar as linhas de um texto vindo de campo TEXTAREA, mais vi que no seu caso não é preciso.

Afinal qual o seu objetivo, eu estou vendo que quanto mais eu respondo mais eu estou te complicando, tente dizer o que quer que vou fazer pra você um script, ai é só você mudar alguma coizinhas, ok.

Link para o comentário
Compartilhar em outros sites

  • 0

Gladisson,

O que eu quero é bem simples: eu quero apenas que o texto do campo $message, venha com quebras de linha conforme a pessoa que o preenche digite.

O texto em vermelho abaixo, foi escrito com várias quebras de linha, dividido em vários blocos, mas o resultado vem sempre um bloco só e isso não sei porque.

É apenas aí minha dúvida e meu problema. Como dizer ao código, que aceite as quebras de linha ? :huh:

Aguardo teu comentário ;)

Abraços,

Link para o comentário
Compartilhar em outros sites

  • 0

O que acontece é o seguinte:

Quando você digita um texto dentro de um TEXTAREA, as quebras de linhas ficam com o caracter "\n" (salto de linha). O conteúdo apresentado está em formato texto.

Quando você vai apresentar o que foi digitado na tela dentro de um TD, como você está fazendo, você estará apresentando o conteúdo em HTML, só que o HTML não reconhece o caracter "\n" como salto de linha. Em HTML o correspondente a salto de linha é <BR>.

Portanto, substitua os caracteres "\n" por <BR> da seguinte forma:

<?php $texto = strtr($texto,array(chr(10) => "<BR>")); ?>

É isso aí!!!

;)

Link para o comentário
Compartilhar em outros sites

  • 0

André,

Tentei fazer como falou mas ainda não consegui. O problema é que estou iniciando e não sei exatamente onde inserir este código em todo PHP que já tenho.

Com base no código que já postei aqui, você poderia me mostrar onde exatamente eu insiro essa string ?

Por exemplo: essa string $texto que me passou, onde vai ? você me mostrou apenas o inicio e o fim das tags em PHP, mas por favor, me mostre o local exato senão perco horas na tentativa e êrro.

Bom, antes de mais nada agradeço a paciência de todos aqui :D

Um abraço,

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...