Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 66
Sexo: Masculino
Localização: Duque de Caxias / RJ
Contato:

Quebra linha em um script de comentário

30-10-2007 13:32

Oi pessoal, tenho um script de noticia só q quando o comentário é postado ele não tem um limite de caracter e linhas.

No script abaixo aparece que ele tem 30 caracteres e 5 linhas, mas quando é exposto o comentário fica com os caracteres e tem um unica linha.

Vejam o link:
http://www.colegioantaresrj.com.br/scri ... g.php?id=4
( aqui ele deveria mostrar uma parte da notícia )

http://www.colegioantaresrj.com.br/scri ... t.php?id=4
( aqui mostrar a notícia completa )

O q posso fazer neste caso?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17637
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Quebra linha em um script de comentário

30-10-2007 13:50

Você quer reparar o problema de mostrar textos muito grande antes de armazenar ou na hora de mostrar?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 66
Sexo: Masculino
Localização: Duque de Caxias / RJ
Contato:

Quebra linha em um script de comentário

30-10-2007 13:53

Na hora de mostrar
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17637
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Quebra linha em um script de comentário

30-10-2007 14:04

Você pode usar a seguinte função:

Coloque o código abaixo no mesmo documento onde é mostrada as mensagens, de preferência fora de ifs.
<?php function corta_palavras($string) { $separa = explode(" ", $string); for($i = 0; $i < count($separa); $i++) { if(strlen($separa[$i]) > 10) { print substr($separa[$i], 0, 10)."... "; } else { echo $separa[$i]." "; } } } ?>

Agora, vá onde é mostrada a variável do seu BD que retorna o texto enorme, e aplique sobre ela a linha abaixo, ex.:
Se a variável no seu sistema é $mensagem, ficaria assim:
corta_palavras("$mensagem");

* complemento
Esqueci de informar que o 10 no script é o número máximo que cada palavra no texto pode ter.
Quando chegar ao décimo caracter, a palavra é quebrada e adicionado o ...
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 66
Sexo: Masculino
Localização: Duque de Caxias / RJ
Contato:

Quebra linha em um script de comentário

30-10-2007 14:25

não esta dando certo ou o mais provável eu não estou colocando no lugar correto
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17637
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Quebra linha em um script de comentário

30-10-2007 14:37

Como eu já tenho esse sistema aqui, acho que fica mais fácil.

entra em viewblog.php

logo no começo do código tem
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

Coloque aquele código da função que passei acima, depois dessa linha do DOCTYPE.

Em seguida, vá até as seguintes linhas:
print("<tr> <td width=\"12%\"><div align=\"right\"><strong>Login:</strong></div></td> <td width=\"88%\"><a href=\"mailto:" . $email . "\">" . $user . "</td> </tr> <tr> <td><div align=\"right\"><strong>Escreveu:</strong></div></td> <td valign=\"top\">" . $content . "</td> </tr>");

e troque essas linhas por:
print("<tr> <td width=\"12%\"><div align=\"right\"><strong>Login:</strong></div></td> <td width=\"88%\"><a href=\"mailto:" . $email . "\">" . $user . "</a></td> </tr> <tr> <td><div align=\"right\"><strong>Escreveu:</strong></div></td> <td valign=\"top\">"); corta_palavra("$content"); print("</td></tr>");

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 66
Sexo: Masculino
Localização: Duque de Caxias / RJ
Contato:

Quebra linha em um script de comentário

30-10-2007 14:37

Segue abaixo o Script que adiciona o texto:
<?php include("header.php"); $id = $_GET['id']; $sub_user = $_GET['sub_user']; $sub_email = $_GET['sub_email']; $sub_comment = $_GET['sub_comment']; $Submit = $_GET['Submit']; if($Submit) { if(!$sub_user || !$sub_comment) { $msg1 = "Pro favor preencha todos os campos"; } else { $ip = $_SERVER['REMOTE_ADDR']; [color=red]$comment = strip($sub_comment); $comment = str_replace("\n", "<br>", $comment);[/color] $user = strip($sub_user); $email = strip($sub_email); $query[8] = mysql_query("INSERT INTO geo_comment SET linkid='$id', user='$user', content='$comment', email='$email', ip='$ip'"); $message = "Obrigado pelo seu comentário. Continue vendo os outro eventos..."; } // End Else } // End If Submit ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title><?php print $blog_title; ?></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="styles.css" rel="stylesheet" type="text/css"> </head> <body> <table width="600" border="0" class="table"> <tr> <td><?php print($blog_user); ?></td> </tr> </table> <br> <table width="600" border="0" class="table"> <tr> <td> <?php if(!is_numeric($id) && !$sub_id) { print("Dont be a h4xor. " . $_SERVER['REMOTE_ADDR'] . " <--- Your IP is recorded"); exit(); } else { if($message) { print $message; } else { ?> <form action="addcomment.php" method="get" name="form1"> <div align="center">O campo de email é opcional<br> <?php print $msg1; ?> </div> <table width="100%" border="0"> <tr> <td width="34%" valign="top"> <div align="right">Nome:</div></td> <td width="66%"><input name="sub_user" type="text" class="formobjects" id="sub_name2" size="35"> <input name="id" type="hidden" id="id" value="<?php print $id; ?>"> </td> </tr> <tr> <td valign="top"> <div align="right">Email:</div></td> <td><input name="sub_email" type="text" class="formobjects" id="sub_email2" size="35"> </td> </tr> <tr> <td valign="top"> <div align="right">Comentário:</div></td> <td><textarea name="sub_comment" cols="30" rows="5" class="formobjects" id="textarea"></textarea> </td> </tr> <tr> <td valign="top"><div align="right">Adicionar comentário:</div></td> <td><input name="Submit" type="submit" class="formbutton" value="Enviar"></td> </tr> </table> </form> <?php } //End Else } //End Else ?> </td> </tr> </table> <br> <table width="600" border="0" class="table"> <tr> <td width="247" height="14"><a href="viewcomment.php?id=<?php print $id; ?>">Ver Comentários</a></td> <td width="204"><a href="viewblog.php?id=<?php print $id; ?>">Voltar para sessão</a></td> <td width="133"><div align="right"><a href="index.php">Voltar para o início</a></div></td> </tr> </table> <br> <table width="600" border="0" class="table"> <tr> </td> </tr> </table> <?php //include("footer.php") ?>

Estava colocando abaixo do Sub_user e depois do $comment que me parece que tem um quebra página
$comment = str_replace("\n", "<br>", $comment); // posso estar enganada.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17637
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Quebra linha em um script de comentário

30-10-2007 14:42

Como você citou que o problema é na hora de mostrar o texto, dá uma lida no tópico acima.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 66
Sexo: Masculino
Localização: Duque de Caxias / RJ
Contato:

Quebra linha em um script de comentário

30-10-2007 14:53

Bom estou meuito enrrolada nisso, mas vamos ´lá

Quando eu adciono uma notícia ele vai para o aqr viewcomment.php e quando vou ver nso comentários ele ultrapassa as linha formando uma barra horizontal de rolagem.

Quero limitar isso, cert?

o arq dos comentários é $user_comment certo?
Aquele primeiro script q vc me mandou coloquei no view_blog depois de <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> e mudei a strig para user_comment , depois modifiquei as linha de baixo.

agora oq me compliquei foi q te mandei o script addcomment e vi aquelas linhas em vermelho que coloquei, só que não entendi bem. desculpe
0
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 66
Sexo: Masculino
Localização: Duque de Caxias / RJ
Contato:

Quebra linha em um script de comentário

30-10-2007 14:56

Então é na hora de adcionar.
Pensei que depois de adcionar o texto esse problema fosse em ver o resultado, se for isso me desculpa ter te informado errado.
0
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 66
Sexo: Masculino
Localização: Duque de Caxias / RJ
Contato:

Quebra linha em um script de comentário

30-10-2007 15:06

Escreveu:
Fatal error: Call to undefined function corta_palavra() in /home/colegioa/public_html/scripts/noticias/viewblog.php on line 96
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17637
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Quebra linha em um script de comentário

30-10-2007 15:11

Você pode usar o mesmo script:
<?php function corta_palavras($string) { $separa = explode(" ", $string); for($i = 0; $i < count($separa); $i++) { if(strlen($separa[$i]) > 10) { print substr($separa[$i], 0, 10)."... "; } else { echo $separa[$i]." "; } } } ?>

Sendo que você vai pegar a variável usada para armazenar o texto e jogar dentro da função, tipo:

<?php
$coment = corta_palavras("$coment");
?>

O $coment dentro da linha acima (...) é o que veio do preenchimento, que ia para o BD sem tratamento.
Com a linha acima, ele já vai tratado com a quebra.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 66
Sexo: Masculino
Localização: Duque de Caxias / RJ
Contato:

Quebra linha em um script de comentário

30-10-2007 15:35

Fiz de várias maneiras e deu erro na linha 95
0
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 66
Sexo: Masculino
Localização: Duque de Caxias / RJ
Contato:

Quebra linha em um script de comentário

30-10-2007 15:45

Segue script pra ver se ta certo, mas acho que tem erro. Tem 2 arq que estou em dúvida, $sub_comment (que é do script q adciona e o $content que está no script view_blog e continua dando erro na linha 96 agora

Sei q fiz M e já estou me confundindo em tudo
0
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 66
Sexo: Masculino
Localização: Duque de Caxias / RJ
Contato:

Quebra linha em um script de comentário

30-10-2007 15:55

<?php
include("header.php");
$id = $_GET['id'];
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<?php
function corta_palavras($comment) {
$comment = corta_palavras("$comment");
$separa = explode(" ", $content);
for($i = 0; $i < count($separa); $i++) {
if(strlen($separa[$i]) > 10) {
print substr($separa[$i], 0, 10)."... ";
} else {
echo $separa[$i]." ";
}
}
}
?>
<html>
<head>
<title><?php print $blog_title; ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="styles.css" rel="stylesheet" type="text/css">
</head>

<body>
<table width="600" border="0" class="table">
<tr>
<td><?php print($blog_user); ?></td>
</tr>
</table>
<br>
<table width="600" border="0" class="table">
<tr>
<td width="723"> <table width="100%" border="0">
<tr>
<?php
if(!is_numeric($id)) {
print "Dont be a H4x0r!";
exit();
} else {
$query[654] = mysql_query("SELECT * FROM geo_blog WHERE id='$id'");
$result = mysql_fetch_array($query[654]);

?>
<td width="9%"><div align="right"><strong>Título:</strong></div></td>
<td width="68%"><?php print $result['title']; ?> </td>
<td width="23%" rowspan="3"><div align="center"><?php if($showimage == "yes") { print("<img src=\"images/" . $result['mood'] . ".gif\">"); } ?></div></td>
</tr>
<tr>
<td><div align="right"><strong>Modo:</strong></div></td>
<td><?php print $result['mood']; ?></td>
</tr>
<tr>
<td><div align="right"><strong>Data:</strong></div></td>
<td><?php print $result['playlist']; ?></td>
</tr>
<tr>
<td><div align="right"></div></td>
<td colspan="3"><br> <?php print $result['content']; ?></td>
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="3"><div align="right"><a href="index.php"><strong>Voltar</strong></a></div></td>
</tr>
</table>
<?php
}//End If
$n_views = $result['views'] + 1;
$query[805] = mysql_query("UPDATE geo_blog SET views='$n_views' WHERE id='$id'");
?>
</td>
</tr>
</table>
<p>&nbsp;</p>
<p><br>
</p>
<table width="600" border="0" class="table">
<tr>
<td>
<?php
if(is_numeric($id)) {
$query[816] = mysql_query("SELECT * FROM geo_comment WHERE linkid='$id' ORDER BY id LIMIT 5");
print("<table width=\"100%\" border=\"0\">");
while($result = mysql_fetch_array($query[816])) {
$email = stripslashes($result['email']);
$user = stripslashes($result['user']);
$content = stripslashes($result['content']);
print("<tr>
<td width=\"12%\"><div align=\"right\"><strong>Login:</strong></div></td>
<td width=\"88%\"><a href=\"mailto:" . $email . "\">" . $user . "</a></td>
</tr>
<tr>
<td><div align=\"right\"><strong>Escreveu:</strong></div></td>
<td valign=\"top\">");
corta_palavra("$comment");
print("</td></tr>");

} //End While
$returned = mysql_num_rows($query[816]);
if(mysql_num_rows($query[816]) < 1) {
print("<tr>
<td width=\"88%\"><div align=\"center\">Não há nenhum comentário</div></td>
</tr>");
}//End If
print("</table>");
}//end if
?>
</td>
</tr>
</table>
<br>
<table width="600" border="0" class="table">
<tr>
<td><?php if($returned >= 1) {
print("<a href=\"viewcomment.php?id=" . $id . "\">Ver todos os comentários</a>");
} else {
print("Nenhuns comentários");
}
?></td>
<td><div align="right"><a href="addcomment.php?id=<?php print $id; ?>">Adicionar
um Novo Comentário</a></div></td>
</tr>
</table>
<br>
<table width="600" border="0" class="table">
<tr>
</td>
</tr>
</table>
<div align="left">
<?php
//include("footer.php")
?>

</div>

</body>
</html>
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17637
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Quebra linha em um script de comentário

30-10-2007 15:55

Basta seguir a lógica.
No arquivo addcoment.php tem um textarea, ele tem um name ( sub_comment ) esse name é usado para criar uma variável que vai ser armazenada no BD, basta seguir essa linha de lógica usando o script do tópico:
http://www.codigosnaweb.com/forum/viewt ... =3801#3801

Ou seja, fazer a função cortar a palavra antes de jogar no BD.

Aconselho a estudar alguns scripts básicos de PHP para pegar uma noção de função, string e variável.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 66
Sexo: Masculino
Localização: Duque de Caxias / RJ
Contato:

Quebra linha em um script de comentário

30-10-2007 15:59


<?php include("header.php"); $id = $_GET['id']; ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <?php function corta_palavras($comment) { $comment = corta_palavras("$comment"); $separa = explode(" ", $content); for($i = 0; $i < count($separa); $i++) { if(strlen($separa[$i]) > 10) { print substr($separa[$i], 0, 10)."... "; } else { echo $separa[$i]." "; } } } ?><html> <head> <title><?php print $blog_title; ?></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="styles.css" rel="stylesheet" type="text/css"> </head> <body> <table width="600" border="0" class="table"> <tr> <td><?php print($blog_user); ?></td> </tr> </table> <br> <table width="600" border="0" class="table"> <tr> <td width="723"> <table width="100%" border="0"> <tr> <?php if(!is_numeric($id)) { print "Dont be a H4x0r!"; exit(); } else { $query[654] = mysql_query("SELECT * FROM geo_blog WHERE id='$id'"); $result = mysql_fetch_array($query[654]); ?> <td width="9%"><div align="right"><strong>Título:</strong></div></td> <td width="68%"><?php print $result['title']; ?> </td> <td width="23%" rowspan="3"><div align="center"><?php if($showimage == "yes") { print("<img src=\"images/" . $result['mood'] . ".gif\">"); } ?></div></td> </tr> <tr> <td><div align="right"><strong>Modo:</strong></div></td> <td><?php print $result['mood']; ?></td> </tr> <tr> <td><div align="right"><strong>Data:</strong></div></td> <td><?php print $result['playlist']; ?></td> </tr> <tr> <td><div align="right"></div></td> <td colspan="3"><br> <?php print $result['content']; ?></td> </tr> <tr> <td>&nbsp;</td> <td colspan="3"><div align="right"><a href="index.php"><strong>Voltar</strong></a></div></td> </tr> </table> <?php }//End If $n_views = $result['views'] + 1; $query[805] = mysql_query("UPDATE geo_blog SET views='$n_views' WHERE id='$id'"); ?> </td> </tr> </table> <p>&nbsp;</p> <p><br> </p> <table width="600" border="0" class="table"> <tr> <td> <?php if(is_numeric($id)) { $query[816] = mysql_query("SELECT * FROM geo_comment WHERE linkid='$id' ORDER BY id LIMIT 5"); print("<table width=\"100%\" border=\"0\">"); while($result = mysql_fetch_array($query[816])) { $email = stripslashes($result['email']); $user = stripslashes($result['user']); $content = stripslashes($result['content']); [color=red]print("<tr> <td width=\"12%\"><div align=\"right\"><strong>Login:</strong></div></td> <td width=\"88%\"><a href=\"mailto:" . $email . "\">" . $user . "</a></td> </tr> <tr> <td><div align=\"right\"><strong>Escreveu:</strong></div></td> <td valign=\"top\">"); corta_palavra("$comment[/color]"); print("</td></tr>"); } //End While $returned = mysql_num_rows($query[816]); if(mysql_num_rows($query[816]) < 1) { print("<tr> <td width=\"88%\"><div align=\"center\">Não há nenhum comentário</div></td> </tr>"); }//End If print("</table>"); }//end if ?> </td> </tr> </table> <br> <table width="600" border="0" class="table"> <tr> <td><?php if($returned >= 1) { print("<a href=\"viewcomment.php?id=" . $id . "\">Ver todos os comentários</a>"); } else { print("Nenhuns comentários"); } ?></td> <td><div align="right"><a href="addcomment.php?id=<?php print $id; ?>">Adicionar um Novo Comentário</a></div></td> </tr> </table> <br> <table width="600" border="0" class="table"> <tr> </td> </tr> </table> <div align="left"> <?php //include("footer.php") ?> </div> </body> </html>

0
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 66
Sexo: Masculino
Localização: Duque de Caxias / RJ
Contato:

Quebra linha em um script de comentário

30-10-2007 16:04

Obrigada, só tenho que te agradecer pela força
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17637
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Quebra linha em um script de comentário

30-10-2007 16:06

:)
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 66
Sexo: Masculino
Localização: Duque de Caxias / RJ
Contato:

Quebra linha em um script de comentário

31-10-2007 07:14

Olá!

Nada como um dia após o outro.....

Consegui fazer oq vc tinha dito, tive q esfriar a minha cabeça um pouco para poder entender e colocar os arq no lugar certo, já q não tenho prática em programar. Agora vou ver se consigo limitar um espaço no aqv viewcomment para q as linha não fiquem grandes de mais.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17637
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Quebra linha em um script de comentário

31-10-2007 07:19

Não é complicado, uma dica para quando tiver uma dúvida, é identificar o problema, e tentar antes, consegui um exemplo bem básico do que pretende, para assim, adaptar ao que precisa.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado