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

Problema Com Texto Inserido Em Banco De Dados Mysql


caiognr

Pergunta

Boa noite a todos.

Estou programando um site e empaquei em algo aparentemente muito simples, nunca tive tal problema, vamos a ele. Eu fiz um script que insere dados de um form em 1 tabela no banco de dados, dentre os campos há um que o usuário do site escreverá o texto de uma matéria, sendo assim eu coloquei um text área com quebra de linha:

duvida_figura.jpg

porém quando eu vou exibir os dados, esse texto é exibido em uma única linha.

Creio que o problema esteja na inserção dos dados mas me parece estar correto o código:

$titulo_col_1 = $_POST['titulo_col_1'];
        $col_1 = $_POST['col_1'];
        $cod_colunista = $_POST['cod_colunista'];
        $data = date("y.m.d");
            
            $insere = "INSERT INTO colunas ( cod_colunista , titulo , coluna , data ) VALUES ( '$cod_colunista' , '$titulo_col_1', '$col_1' , '$data' )";
            mysql_select_db($database_conexao, $conexao);
  $resultado = mysql_query($insere, $conexao) or die(mysql_error());
            if($resultado = TRUE){
                header("Location: sucesso.html");
            
        }

Preciso muito da ajuda de vocês e agradeço desde já!

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Obrigado pela força Beraldo...vou testar!

--

Beraldo...estava analisando algum material a respeito dessa função...mas eu já programei um sitema parecido, o qual tinha um campo de inserção de textoe na hora de exibir eu não usava nenhuma função....para mim não faz sentido...

Desde já gradeço muito sua ajuda!

Link para o comentário
Compartilhar em outros sites

  • 0

Você fez o teste utilizando espaços e quebras de linha, como eu disse?

Na figura que você postou, não há espaços nem quebras de linha, por isso a função nl2br() não interpreta as linhas.

Tente gravar um texto assim:

Aqui a primeira linha. Veja que há espaços.

Há quebras de linha.

Muitas quebras de linha.

Coitadinhas das linhas; estão todas quebradas.

Tente apresentar esse texto na tela usando nl2br(). Você verá que as quebras de linhas serão interpretadas.

[]'s

Link para o comentário
Compartilhar em outros sites

  • 0

na hora de inserir no banco de dados, você tem que substituir os "enters" do teclado por <br> que será reconhecido pelo navegador como uma quebra

$campo = $_POST['campo'];
$campo = str_replace(chr(13), "<br>", "$campo");

falei besteira?

se falei, me desculpem, hehe!

Não falou besteira, mas há uma forma mais fácil de se fazer isso: usando a função nl2br().

Eu prefiro salvar no banco os textos com as quebras de linha (enteres) e usar a função nl2br() na hora de exibi-los na tela, juntamente com a função htmlentities(), para transformar os caracteres especiais em HTML.

Mas você pode fazer isso tanto na hora de inserir, quanto na hora de exibir. É questão de preferência. :)

[]'s

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...