Ir para conteúdo

Arquivado

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

nathanfeitoza

Php não mostra HTML correto adicionado por Textarea

Recommended Posts

Olá, galera.

 

Bom, eu estou com um probleminha (até meio bobo), que não consigo resolver, pois não acho onde é o erro, e ele é o seguinte: Eu estou criando um sistema de noticias, e então a parte do conteúdo da matéria, ou seja, onde fica o texto, está estilizado com um editor de texto HTML o TyneMCE, e tem 3 scripts: noticias.php (mostra as noticias), noticia.php (mostra a noticia pelo id) e adicionar-noticia.php (onde faz a inclusão dos dados)

 

Então, por exemplo, se tento adicionar uma imagem com código htm: <img src="cdigo imagem.png">, ele mostra assim, <img src=/"codigodaimagem.png/"/> ou qualquer outro código html que envolva hiperlinks, como na classe href, ele mostra com aspas e barras a mais, além de aparecer uns /r/n/ no meio da noticia. Então eu queria saber onde está o erro para corrigi-lo, abaixo estão os três códigos:

 

adcionar-noticia.php

<title>Adicionar Noticia</title>
<script language="javascript" type="text/javascript" src="javascript.js"></script>
 
<SCRIPT src="javascript/jscripts.js"></SCRIPT>
 
<script type="text/javascript">
   _editor_url = "htmlarea/";
   _editor_lang = "en";
</script>
 
<script type="text/javascript" src="editor/tiny_mce.js"></script>
<script type="text/javascript" src="editor/tiny_mce_popup.js"></script>
<script type="text/javascript" src="editor/tiny_mce_src.js"></script>
 
<script type="text/javascript">
tinymce.init({
    selector: "textarea"
 });
</script>
<?php
 
include('config.php');
 
if (!empty($_POST) AND (empty($_POST['titulo']) OR empty($_POST['categoria']) OR empty($_POST['autor']) OR empty($_POST['texto']) OR empty($_POST['tags']) OR empty($_POST['imagens']))) {
echo "<font color=\"#ff0000\">Por Favor Preencha os campos Vazios</font>";
} else {
$titulo = $_POST["titulo"];
$categoria = $_POST["categoria"];
$autor = $_POST["autor"];
$texto = $_POST["texto"];
$tags = $_POST["tags"];
$imagens = $_POST["imagens"];
if($titulo == "" && $categoria == "" && $autor == "" && $texto == "" && $tags == ""){} else {
// Adiciona a Noticia ao banco de dados
$news_add = "INSERT INTO news (titulo, categoria, autor, date, views, autor_ip, texto, tags, imagens) VALUES ('".addslashes(mysql_real_escape_string($_POST["titulo"]))."', '".addslashes(mysql_real_escape_string($_POST['categoria']))."', '".addslashes(mysql_real_escape_string($_POST['autor']))."', NOW(), '0', '".addslashes(mysql_real_escape_string($_SERVER['REMOTE_ADDR']))."', '".addslashes(mysql_real_escape_string($_POST['texto']))."', '".addslashes(mysql_real_escape_string($_POST['tags']))."', '".addslashes(mysql_real_escape_string($_POST['imagens']))."')";
 
 
 
 
$news_add = mysql_query($news_add)
or die ("Erro ao Adicionar Noticia.");
echo "Noticia Adicionado com sucesso <a href='noticias.php'>Ver Noticias</a>";
 
}
}
 
?>
<h3>Adicionar Noticia:</h3>
<font color="#ff0000"><p>Campos marcados com (*) são obrigatórios</p></font>
<form name="input" action="adicionar-noticia.php" method="post">
<label>Titulo*:</label>
<br>
<input  name="titulo" class="text" />
<br>
<label>Postado por*:</label>
<br>
<input name="autor" class="text" />
<br>
<label>Categoria*:</label>
<br>
<select  name="categoria"> 
<?php
$selecionar_db_categoria = "SELECT * FROM categorias ORDER BY id DESC";
// Seleciona a tabela 'categorias' no banco de dados
$categoria_final = mysql_query($selecionar_db_categoria)
// Mensagem caso aconteça um erro na conexão
or die ("<h1>Erro ao Conectar-se ao Banco de dados</h1>");
 
// Pega os valores da tabela 'categorias'
while ($categoria_db=mysql_fetch_array($categoria_final)) { 
 
$id = $categoria_db["id"];
 
$categoria = $categoria_db["categoria"];
 
echo "<option value=\"$id\">$categoria</option>";
 
 
}
?>
</select>
<br>
<script language="JavaScript">
function abrir(URL) {
 
  var width = 400;
  var height = 532;
 
  var left = 99;
  var top = 99;
 
  window.open(URL,'janela', 'width='+width+', height='+height+', top='+top+', left='+left+', scrollbars=yes, status=no, toolbar=no, location=no, directories=no, menubar=no, resizable=no, fullscreen=no');
 
}
</script>
 
 
<label>Cole o link da imagem que você quer destacar no seu post*</label>
<input  name="imagens" type="url" >
<p><a href="javascript:abrir('[url=http://localhost/imgupload/');]http://localhost/imgupload/');[/url]">Envie sua imagem pra cá</a></p>
 <br>
<label>Tag*:</label>
<input  name="tags" class="text">
<br>
<label>Texto*:</label>
<br>
<textarea  name="texto" rows="30" cols="100%"></textarea>
<br>
<input type="submit" value="Adicionar Notícia">
</form>
 
  
noticias.php

 

<title>Noticias</title>
<style>
.noticias{
position: relative;
top: 115px;
  float: left;
  margin-left: 100px;
  padding: 0 5px;
 
 
}
</style>
<div style="text-align:center; position:relative; float:right;">
<form method="GET" action="busca.php">
  <label for="consulta">Buscar:</label>
  <input type="text" name="busca" id="busca" maxlength="255" />
 
  <input type="submit" value="OK" />
</form>
</div>
<?php
// Conexão com o Banco de Dados
include('views/config.php');
$selecionar_db = "SELECT * FROM news ORDER BY id DESC";
$final = mysql_query($selecionar_db)
or die ("<h1>Erro ao Conectar-se ao Banco de dados</h1>");
 
 
while ($news=mysql_fetch_array($final)) { 
$id = $news["id"];
 
$titulo = $news["titulo"];
 
$categoria_id = $news["categoria"];
 
$autor = $news["autor"];
 
$views = $news["views"];
 
$texto = $news["texto"];
 
$imgs = $news["imagens"];
 
$date = $news["date"];
 
 
$date2 = strtotime($date);
$data = date('d/m/Y', $date2);
$hora = date('H:i', $date2);
 
 
$comentarios_db = "SELECT * FROM comentarios WHERE noticia_id='$id'";
$comentarios_db = mysql_query($comentarios_db);
$comentarios = mysql_num_rows($comentarios_db);
 
 
$categoria_db = "SELECT * FROM categorias WHERE id='$categoria_id'";
$categoria_resultado = mysql_query($categoria_db);
$categoria_final = mysql_fetch_assoc($categoria_resultado);
$categoria = $categoria_final['categoria'];
 
$texto = substr("$texto", 0, 550);   
 
 
 
 
 
 
?>
<div class="noticias">
<h1><a href="/test/noti_admin/noticia.php?id=<?php echo"$id";?>"><?php echo"$titulo";?></a></h1>
<p>Postado por <b><?php echo"$autor";?></b> em <b><?php echo"$data";?></b> ás <b><?php echo"$hora";?></b> - <b><?php echo"$views";?></b> Visualizações | <b><?php echo"$comentarios";?></b> Comentários | Categoria:<a href="/test/noti_admin/mostra-categoria.php?id=<?php echo"$categoria_id";?>"><b><?php echo"$categoria";?></b></a></p>
<p><section style='float: left; margin-left: 3px;margin-right:2px;'><img src="<?php echo"$imgs";?>" width='115' height='115'></section></p><p><?php echo"$texto";?> <a href="/test/noti_admin/noticia.php?id=<?php echo"$id";?>">Leia Mais...</a></p>
</div>
<?php }?>
  

noticia.php

 

<?php
 
// Faz conexão com o Banco de Dados
include('views/config.php');
// Seleciona o id da noticia
$id = $_GET['id'];
// Adiciona +1 de Visualizações a cada pessoa que acessar a noticia
$views_db = mysql_query("SELECT * FROM news WHERE id = '$id'");
$row = mysql_fetch_array($views_db);
$view = $row['views'];
$views = $view + 1;
$views_db = mysql_query("UPDATE news SET views = '$views' WHERE id = '$id'");
 
// Seleciona a noticia pelo id da página
$selecionar_db = "SELECT * FROM news WHERE id = '$id'";
$final = mysql_query($selecionar_db);
 
// Pega os valores da noticia
while ($new=mysql_fetch_array($final)) { 
$id = $new["id"];
 
$titulo = $new["titulo"];
 
$categoria_id = $new["categoria"];
 
$autor = $new["autor"];
 
$views = $new["views"];
 
$texto = $new["texto"];
 
$tag = $new["tags"];
 
$imgs = $new["imagens"];
 
$date = $new["date"];
 
// Altera o Formato da data da noticia
$date_news = strtotime($date);
$data = date('d/m/Y', $date_news);
$hora = date('H:i', $date_news);
 
// Pega o número de Comentários que a noticia possui
$comentarios_db = "SELECT * FROM comentarios WHERE noticia_id='$id'";
$comentarios_db = mysql_query($comentarios_db);
$comentarios = mysql_num_rows($comentarios_db);
 
// Faz a seleção da Categoria
$categoria_db = "SELECT * FROM categorias WHERE id='$categoria_id'";
$categoria_resultado = mysql_query($categoria_db);
$categoria_final = mysql_fetch_assoc($categoria_resultado);
$categoria = $categoria_final['categoria'];
 
 
 
echo "<title>$titulo</title>";
echo "<h1>$titulo</h1><p>Postado por <b>$autor</b> em <b>$data</b> ás <b>$hora</b> - <b>$views</b> Visualizações | <b>$comentarios</b> Comentários | Categoria: <a href=\"mostra-categoria.php?id=$categoria_id\"><b>$categoria</b></a> |</p><img src='$imgs'><p>$texto</p>";
echo "<p>Tags:<b>$tag</b></p>";
echo "______________________________________________________________________________________________________________________________________________________________________";
echo "<h3>$comentarios Comentários:</h3>";
 
}
?>
<?php
// Faz conexão com a tabela Comentários
$id = $_GET['id'];
$selecionar_db_comentarios = "SELECT * FROM comentarios WHERE noticia_id = '$id' ORDER BY id DESC";
$selecionar_db_comentarios_final = mysql_query($selecionar_db_comentarios);
 
// Pega os valores da tabela 'comentarios'
while ($comentario_db=mysql_fetch_array($selecionar_db_comentarios_final)) { 
$id = $comentario_db["id"];
$autor = $comentario_db["autor"];
$comentario = $comentario_db["comentario"];
$date = $comentario_db["date"];
 
echo "<b>$autor</b> em <b>$date</b> comentou:<p>$comentario</p>";
}
?>
______________________________________________________________________________________________________________________________________________________________________
<h3>Comentar:</h3>
<?php
// Mensagem caso os campos estejam vazios
if (!empty($_POST) AND (empty($_POST['autor']) OR empty($_POST['comentario']) OR empty($_POST['email']))) {
echo "<font color=\"#ff0000\">Por Favor Preencha os campos Vazios</font>";
} else {
$autor = $_POST["autor"];
$mensagem = $_POST["mensagem"];
$email = $_POST["email"];
if($autor == "" && $email == "" && $mensagem == ""){} else {
// Adiciona o Comentário na Noticia
$comentario_add = "INSERT INTO comentarios (noticia_id, ip, autor, comentario,date,email) VALUES ('".addslashes(mysql_real_escape_string($_GET["id"]))."', '".addslashes(mysql_real_escape_string($_SERVER['REMOTE_ADDR']))."', '".addslashes(mysql_real_escape_string(strip_tags($_POST['autor'])))."', '".addslashes(mysql_real_escape_string(strip_tags($_POST['comentario'])))."', NOW(), '".addslashes(mysql_real_escape_string(strip_tags($_POST['email'])))."')";
 
$comentario_add = mysql_query($comentario_add)
or die ("Erro ao Adicionar Comentário.");
echo "Comentário Adicionado com sucesso | <a href=\"noticia.php?id=".$_GET['id']."\">Atualizar Página para ver seu comentário</a>";
 
}
}
 
?>
<form name="input" action="noticia.php?id=<?php echo $_GET['id']; ?>" method="post">
<label>Seu nome:</label>
<input name="autor" class="text" />
<br>
<label>Seu Email:</label>
<input name="email" class="text" />
<br>
<label>Comentário:</label>
<br>
<textarea name="comentario" rows="5" cols="50"></textarea>
<br>
<input type="submit" value="Enviar Comentário">
</form> 

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.