l1p3 2 Denunciar post Postado Março 6, 2013 Pessoal, sou novo no PHP, eu nunca tive este problema, mais é o seguinte: A tabela MYsql está configurada com formato TEXT, para receber dados da textarea, porém quando os dados são gravados no MYsql o texto vem faltando pedaço, sempre no final, ela nunca grava o texto inteiro, e olha que são textos pequenos... o que é isso? socorro >< Compartilhar este post Link para o post Compartilhar em outros sites
Diego Rinno 35 Denunciar post Postado Março 6, 2013 Você definiu largura máxima de caracteres na hora de criar o campo? tente deixar a largura em branco ou use o Longtext pra ver se funciona. Cola seu código aqui também, só pra dar uma olhada em como ele faz o registro no MySQL. Abraço. Compartilhar este post Link para o post Compartilhar em outros sites
l1p3 2 Denunciar post Postado Março 6, 2013 Html <div class="comentarios"> <div class="dentrocomentarios"> <form action="?gravar=comentarios" method="post"> <p class="textonormal">nome:</p> <input type="text" name="nomeinformado" class="nometext" /> <p class="textonormal">Mensagem:</p> <textarea name="mensageminformada" class="mensagemum" maxlength="700"> </textarea> <input type="submit" value="Enviar" class="registrese"/> </form> <br /> Compartilhar este post Link para o post Compartilhar em outros sites
Diego Rinno 35 Denunciar post Postado Março 6, 2013 Tentou usar o Longtext ou mudar o tamanho do limite de caracteres no seu campo 'comentario' do MySQL? Seu código tá normal, pelo que vi aqui. Tenta mudar só o tamanho do limite de caracteres ou mudar pra Longtext pra ver se funciona. Edit pra dizer que talvez fosse bom também você colocar no action o endereço completo da página que vai receber e enviar o comentário, em vez de usar o $_GET pra pegar a variável. Tenta colocar tudo pelo post sem o strip_tags, como em: <!-- Comentarios--> <div class="comentarios"> <div class="dentrocomentarios"> <form action="enviar_comentario.php" method="post"> <p class="textonormal">nome:</p> <input type="text" name="nomeinformado" class="nometext" /> <p class="textonormal">Mensagem:</p> <textarea name="mensageminformada" class="mensagemum" maxlength="700"></textarea> <input type="submit" value="Enviar" class="registrese"/> </form> <br /> e então a página que faz o registro: <?php include("bancodedados.php"); $db = mysql_connect($host, $login_db, $senha_db); //conectamos ao mysql $basedados = mysql_select_db($database); //conectamos ao database $nomeinformado = $_POST['nomeinformado']; $mensageminformada = $_POST['mensageminformada']; $cadastrar = mysql_query("INSERT INTO comentarios(nome, comentario) VALUES('$nomeinformado', '$mensageminformada')", $db) or die(mysql_error()); echo "<script> window.location='index.php';</script>"; /** Solicitando comentarios do banco de dados*/ $buscarcomentarios = mysql_query("SELECT * FROM comentarios ORDER BY id DESC LIMIT 6", $db) or die(mysql_error()); /** Loop para aparecer os comentarios inseridos no array*/ while($comentarios = mysql_fetch_array($buscarcomentarios)){ /** comentarios encontrados no banco de dados*/ echo '<h1 class="titulocomentario">Nome: ' . $comentarios['nome'] . '</h1> <br />'; echo "<p class="textocomentario">Comentario: ' . $comentarios['comentario'] . '</p> <hr /><br />"; } /** Encerrando conexão com banco de dados*/ mysql_close(); ?> Compartilhar este post Link para o post Compartilhar em outros sites
l1p3 2 Denunciar post Postado Março 6, 2013 <?php /** Conexão com banco de dados*/ include("bancodedados.php"); if($_GET['gravar'] == 'comentarios'){ /** Extrair dados pelo metodo post*/ $nomeinformado = strip_tags($_POST['nomeinformado']); $mensageminformada = strip_tags($_POST['mensageminformada']); /** Enserir comentarios no banco de dados*/ $enviarcomentarios = "INSERT INTO comentarios(nome, comentario) VALUES('$nomeinformado', '$mensageminformada')"; mysql_query($enviarcomentarios) or die(mysql_error()); echo "<script> window.location='index.php';</script>"; } /** Solicitando comentarios do banco de dados*/ $pesquisarcomentarios = "SELECT * FROM comentarios ORDER BY id DESC LIMIT 6"; $buscarcomentarios = mysql_query($pesquisarcomentarios) or die(mysql_error()); /** Loop para aparecer os comentarios inseridos no arrey*/ while($comentarios = mysql_fetch_array($buscarcomentarios)){ /** comentarios encontrados no banco de dados*/ echo '<h1 class="titulocomentario">Nome: ' . $comentarios['nome'] . '</h1> <br />'; echo '<p class="textocomentario">Comentario: ' . $comentarios['comentario'] . '</p> <hr /><br />'; } /** Encerrando conexão com banco de dados*/ mysql_close(); ?> não resolveu, quando mudei para LONGTEXT, ai que num gravo nenhum caractere... Eu tava pensando, será que é alguma problema, com a formatação do texto? porque eu acho que se eu escrever na textarea, posso escrever um texto enorme que grava... Mais se eu colar um texto lá de outro site, grava só um pouco ou num grava nada Compartilhar este post Link para o post Compartilhar em outros sites
Diego Rinno 35 Denunciar post Postado Março 6, 2013 Eu editei o comentário ali em cima, dá uma olhadinha só.. tenta escrever você mesmo um texto normal e salvar lá pra ver se funciona. Pode ser que copiando o texto de outro site ele venha com as tags HTML já e o strip_tags() pode estar cortando o texto por causa disso. Tenta enviar sem o strip_tags() ou tenta fazer como eu disse ali no edit, uma página separada só pra enviar o texto. Lá na página separada eu coloquei mais duas variáveis só pra especificar melhor a conexão com o DB e tirei o strip_tags(). Dá uma olhada. Compartilhar este post Link para o post Compartilhar em outros sites
l1p3 2 Denunciar post Postado Março 6, 2013 Amigo obrigado, gostei da sua ideia de enviar tupo pelo método post, porém o erro continuou o mesmo eu testei o mesmo código em outro servidor, e no outro servidor funcionou perfeitamente... Mais agora neste que eu preciso que o código funcione não deu não servidor que não funcionou: http://dultranole.p.ht/index.php servidor que funcionou: http://dultranole.gratisphphost.info/surf/ Eu só chego a pensar que o problema é com o pessoal do servidor... Compartilhar este post Link para o post Compartilhar em outros sites
Diego Rinno 35 Denunciar post Postado Março 6, 2013 Rapaz.. tenta entrar em contato com a administração do seu servidor, vê se eles não estão com algum problema no fluxo de dados, porque o script como você mesmo pôde ver, funciona perfeitamente. Eu testei ele aqui http://www.carlossimas.com/teste/comentario.php e funcionou perfeitamente. Compartilhar este post Link para o post Compartilhar em outros sites
l1p3 2 Denunciar post Postado Março 6, 2013 Ei amigo e se o problema cor na codificação dos caracteres? a Tabela usa utf8_unicode_ci Compartilhar este post Link para o post Compartilhar em outros sites
Diego Rinno 35 Denunciar post Postado Março 6, 2013 Duvido muito que seja isso... eu mesmo uso essa codificação no meu banco de dados onde eu registro as postagens do meu site. E olha que eu uso Longtext e já enviei postagens com mais de 40.000 caracteres. E script de postagem ainda está em funcionamento perfeito e a cada dia invento algo novo pra ele: http://www.pclife.carlossimas.com Creio que seja o servidor passando por algum problema mesmo. Compartilhar este post Link para o post Compartilhar em outros sites
l1p3 2 Denunciar post Postado Março 6, 2013 eu entrei em contato com eles, obrigado pela ajuda, sou novo no PHP a cada projeto é uma dor de cabeça diferente rsrsrs, brigadão mesmo por ter me emprestado seu tempo lol Ei amigo Diego Rinno, mudei a codificação de "utf8_unicode_ci" para "latin1_swedish_ci", e agora deu tudo certo lol, até quem fim \0/ deu certo mano, tomara que este tópico possa ajudar bastantes pessoas, obrigado por me ajudar _0/ Compartilhar este post Link para o post Compartilhar em outros sites
Diego Rinno 35 Denunciar post Postado Março 6, 2013 Fico feliz em ter ajudado rsEu também sou novo no PHP, na verdade. Só sou meio viciado, então passo horas por dia estudando rs. Abraço e se precisar é só falar, estamos aqui pra ajudar o povo mesmo \o/ Compartilhar este post Link para o post Compartilhar em outros sites
l1p3 2 Denunciar post Postado Março 6, 2013 é que o meu código foi gerado em ANSI, e o BD não se despõe desta codificação, daí usando utf-8 ele quebra o texto no primeiro caractere não suportado tipo (é)... daí colocando LATIN ao envés de quebrar o texto ele vai simplesmente substituir o caractere não suportado por "?". Compartilhar este post Link para o post Compartilhar em outros sites