Ir para conteúdo

POWERED BY:

Arquivado

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

ErickCristiano

Quebra de Linha no TextArea do Formulário

Recommended Posts

Boa Noite Galera!

 

Então, estou fazendo um formulário em PHP, mas não consigo receber o 'textarea' com quebra de linha no meu e-mail, no formulário do site está quebrando, mas ao receber em meu e-mail fica em uma linha única, gostaria de saber o que devo mudar no script para ajustá-lo com quebra de linha.
O HTML e o PHP está abaixo, agradeceria muito quem puder resolver.

 

<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>Form em PHP</title>
<style type='text/css'>
body {background-color:#000;}
.Campo {
left: 50%; margin: 0 0 0 -200px; top: 10%; height: 200px; width: 400px; z-index: 1; font-size: 10px; position: relative; color: #DDD;}

.Button { position: absolute; right: 5px; bottom: 5px; width: 100px; height: 25px; z-index: 2; border: none; border-radius: 2px;}
</style>
</head>

<body>


<form method="post" action="EnviarMail.php">

<div class="Campo">

<textarea name="mensagem" id="mensagem" wrap="hard" required="" resize="none" style="height: 200px; width: 400px; padding: 5px; border-radius: 3px; border: 1px; resize: none;">
</textarea>

</div>
<input type="submit" class="Button" name="Send" value="Enviar" id="Send" />
</form>
</body>
</html>

 

 

<?php
$mensagem = $_POST['mensagem'];


$para = 'abc@gmail.com';
$assunto = 'Teste de Formulário';
$header = "MIME-Version: 1.0" . "\r\n".
"Content-type: text/html; charset=utf-8" . "\r\n".
"From: " . "\r\n" .
"Reply-To: #";
$corpo .= "Text-Area: $mensagem";

$enviaForm = mail($para, $assunto, $corpo, $header);

if ($enviaForm)
echo "<script> alert('Enviado!'); </script>";
?>

 

 

Hospedei em um server se alguém quiser ver como fica...

Só como resumo:

Preciso quebrar a linha do text-area ao receber o e-mail, no site ele quebra mas no e-mail não.. Exemplo:

No Site:

BLABLABLABLA

BLABLABLABLA

BLABLABLABLA

No e-Mail:

BLABLABLABLABLABLABLABLABLABLABLABLA



Aliás, esqueci de colar, o server de exemplo é:

http://testeformphp.eu5.org/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use :seta: nl2br

 

Vai inserir <br/> ou <br> antes de todas as newlines (\r\n, \n\r, \n e \r)

Boa noite, eu usei <br />, mas o problema é no text-area, se eu concateno com <br /> o text-area vai quebrar para o próximo item, mas não ao receber a mensagem, o text-area precisa quebrar de acordo com a quebra do site. Caso eu não tenha entendido, poderia dar um Ctrl+C no source e modificar de acordo com sua sugestão?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade, o que o Carlos quis dizer é que você deve utilizar a função nl2br() na hora de enviar o texto para a mensagem:

$corpo .= 'Text-Area: ' . nl2br($mensagem);

Espero que resolva!

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso mesmo Rafa.

 

Exemplo:

<?php

if( isset( $_POST[ 'send' ] ) )
{
    echo $_POST[ 'textarea' ];
    echo '<hr>';
    $textarea = nl2br( $_POST[ 'textarea' ] );
    echo $textarea;
}
?>

<!DOCTYPE html>
<html>
    <body>
        <form action="" method="post">
            <textarea rows="4" cols="50" name="textarea"></textarea>
            <button type="submit" name="send">Send</button>
        </form>
    </body>
</html>

Você vai utilizar a variável $textarea no seu email.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola pessoal,

Sou novo em PHP, alguém pode me tirar uma dúvida sobre textarea?
inseri o código abaixo para meu formulário:
<div class="fieldvalue">
<textarea class="inputbox <?php echo $institute3_ler_area_required; ?>" type="text" name="institute3_ler_area" id="institute3_ler_area" cols="60" rows="5" maxlength="3000"><?php if (isset($this->provar)) echo $this->provar->institute3_ler_area; ?></textarea>
</div>
O código acima não permite que os textos sejam exibidos em frontend do site com quebra de linha, no banco de dado o texto digitado está normal, conforme digitado, com quebra de linha e espaços em branco, somente quando visualizamos no site o texto fica em sequencia.
Li os tópicos acima, sugerem pra inserir nl2br, chr(13).chr(10)... mas não faço ideia onde e como inserir no código acima.
Por gentileza, alguém pode me ajudar, melhorando esse código, permitindo que o texto seja quebrado com enter.
Obrigado pela compreensão.
no aguardo!

 

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.