Ir para conteúdo

POWERED BY:

Arquivado

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

webdesign

o que está errado neste codigo

Recommended Posts

tenho este codigo ele cadastra o comentario na tabela.

<?php
if (isset($_POST['texto'])) {
$texto = $_POST['texto'];
$idNot = $_POST['id']; // vindo do campo hidden
$insert = mysql_query("INSERT INTO comentario (idNoticia, texto)VALUES ('$idNot', '$texto') ");
  if($insert)
   	echo '<script>alert("Sucesso no cadastro");</script>';
  	else
     	echo '<script>alert("O comentario nao pode ser inserido!");</script>'; 
}
?>

<?php

   	$tabela = 'up_posts';
   	$sql = "SELECT * FROM " . $tabela . " WHERE id = '" . $_GET['id'] . "'";
   	$result = mysql_query($sql) or die(mysql_error());
   	while ($row = mysql_fetch_assoc($result)) {

       	echo '<h1>'. $row['nome']. '</h1>';
       	echo $row['id'];
   	}
   	unset($result, $row);

   	$tabela = 'comentario';
   	$sql = "SELECT * FROM " . $tabela . " WHERE id = '" . $_GET['id'] . "'";
   	$result = mysql_query($sql) or die(mysql_error());
   	?>
   	<h2>Comentarios</h2>
       	<?php
       	while ($row = mysql_fetch_assoc($result)) {

           	echo '<span style="background-color: #FFF; margin:50px;">'. $row['texto']. '</span><br /><br />';
       	}
       	?>

        	<h2>Adicionar comentario</h2>
       	<form name="form1" action="" method="POST">
       	<label>Sua MEnsagem</label>
       	<textarea name="texto" rows="4" cols="20">
       	</textarea>
       	<input type="hidden" name="id" value="<?php echo $_GET['id'] ?>" />
       	<input type="submit" value="Enviar" />
       	</form>


<?php mysql_free_result($result); ?>

mas nao exibe, como faço para exibir e como faço para ele cadastrar com idnoticia sem ser o 0 para ele nao repetir o comentario em todos os posts

Compartilhar este post


Link para o post
Compartilhar em outros sites

o id da tabela comentarios é o mesmo que na tabela up_posts? ao gravar você usa o idnoticia, não estará a fazer confusão?

Compartilhar este post


Link para o post
Compartilhar em outros sites

o id da tabela comentarios é o mesmo que na tabela up_posts? ao gravar você usa o idnoticia, não estará a fazer confusão?

 

eu quero que isto fique mais ou menos assim id 01 idnoticia 05 esse e comentario da matéria 3

assim sucessivamnete id 02 idnoticia 10 esse e comentario da materia 10..nao sei se estão a perceber o meu raciocino está difícil é por na pratica...

ele na tabela up_posts vai buscar o idNoticia e depois na comentarios fica com idNoticia eo seu proprio i..

Qual o codigo para exibir na tela os comentarios!?

O comentario é cadstrado só que o idNoticia fica sempre a 0

 

o id da tabela comentarios é o mesmo que na tabela up_posts? ao gravar você usa o idnoticia, não estará a fazer confusão?

 

voce tem razao comentarios idNoticia que burro mesmo assim nao resolve mas já apresenta os resultados

Compartilhar este post


Link para o post
Compartilhar em outros sites

Melhor é simplificar, me responda se é isso que você quer:

 

Voce que um sistema de noticias onde cada noticia pode ser comentada, certo? Tem a noticia com o titulo "O php é espectaculo!" e quer que os utilizadores comentem essa noticia. Cada usuário faz um comentario que fica relacionado com a noticia, é isso que você quer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

exacto só que eu já tenho as noticias no meu site e agora só queria adicionar os comentarios mas queria relacionar com o meu conteudo..nessa pagina que é a single.php que apresenta os resultado das noticias de uma olhada no meu site

http://filmesanimados.net63.net/index.php?topicos=nav/home

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, entao responda-me a outra questão, na tabela das noticias "up_posts", tem um id unico, tipo auto-increment?

Compartilhar este post


Link para o post
Compartilhar em outros sites

a sua tabela de comentários tem idnoticia e texto, eu faria assim:

 

 

 

<?php
if ($_SERVER['REQUEST_METHOD']=="POST") {
$insert = mysql_query("INSERT INTO comentario (idNoticia, texto) VALUES (".$_POST['id'].", '" . mysql_real_escape_string($_POST['texto']) ."'");
if($insert){
       	echo '<script>alert("Sucesso no cadastro");</script>';
       }
else echo '<script>alert("O comentario nao pode ser inserido!");</script>'; 
}
?>

<?php
       $sql = "SELECT * FROM up_posts WHERE id = " . $_GET['id'];
       $result = mysql_query($sql);
       if ($row = mysql_fetch_assoc($result)) {

               echo '<h1>'. $row['nome']. '</h1>';
               echo $row['id'];

       	$sql = "SELECT * FROM comentario WHERE idNoticia = " . $row['id'];
	$result_comment = mysql_query($sql);
               while ($row_comment = mysql_fetch_assoc($result_comment)) {
               	echo '<span style="background-color: #FFF; margin:50px;">'. $row_comment['texto']. '</span><br /><br />';
               }	
	mysql_free_result($result_comment);	
       }
mysql_free_result($result);
?>
<h2>Adicionar comentario</h2>
<form name="form1" action="" method="POST">

<label>Sua MEnsagem</label>
<textarea name="texto" rows="4" cols="20">
</textarea>
<input type="hidden" name="id" value="<?php echo $_GET['id']; ?>" />
<input type="submit" value="Enviar" name="enviar" id="enviar" />
</form>

 

Experimente esse codigo, não testei.

Compartilhar este post


Link para o post
Compartilhar em outros sites

a sua tabela de comentários tem idnoticia e texto, eu faria assim:

 

 

 

<?php
if ($_SERVER['REQUEST_METHOD']=="POST") {
$insert = mysql_query("INSERT INTO comentario (idNoticia, texto) VALUES (".$_POST['id'].", '" . mysql_real_escape_string($_POST['texto']) ."'");
if($insert){
       	echo '<script>alert("Sucesso no cadastro");</script>';
       }
else echo '<script>alert("O comentario nao pode ser inserido!");</script>'; 
}
?>

<?php
       $sql = "SELECT * FROM up_posts WHERE id = " . $_GET['id'];
       $result = mysql_query($sql);
       if ($row = mysql_fetch_assoc($result)) {

               echo '<h1>'. $row['nome']. '</h1>';
               echo $row['id'];

       	$sql = "SELECT * FROM comentario WHERE idNoticia = " . $row['id'];
	$result_comment = mysql_query($sql);
               while ($row_comment = mysql_fetch_assoc($result_comment)) {
               	echo '<span style="background-color: #FFF; margin:50px;">'. $row_comment['texto']. '</span><br /><br />';
               }	
	mysql_free_result($result_comment);	
       }
mysql_free_result($result);
?>
<h2>Adicionar comentario</h2>
<form name="form1" action="" method="POST">

<label>Sua MEnsagem</label>
<textarea name="texto" rows="4" cols="20">
</textarea>
<input type="hidden" name="id" value="<?php echo $_GET['id']; ?>" />
<input type="submit" value="Enviar" name="enviar" id="enviar" />
</form>

 

Experimente esse codigo, não testei.

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/a1012737/public_html/nav/single.php on line 105

 

PHP Error Message

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/a1012737/public_html/nav/single.php on line 117

Compartilhar este post


Link para o post
Compartilhar em outros sites

troque mysql_fetch_assoc por mysql_fetch_array e confira se realmente esta passando o id por GET.

 

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/a1012737/public_html/nav/single.php on line 105

 

PHP Error Message

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/a1012737/public_html/nav/single.php on line 117

continua dar este erro

 

 

<div id="page_content">

<div id="sidebar">
<?php include"sidebars/sidebar.php";?>
</div><!--sidebar-->

  <div id="page">
<?php

$topico = $_GET['topico'];



$noticias = mysql_query("SELECT
					thumb,
					titulo,
					texto,
					categoria,
					`data`,
					autor,
					valor_real,
					valor_pagseguro,
					visitas
					FROM up_posts
					WHERE titulo = '$topico'")
       	or die(mysql_error());
if(@mysql_num_rows($noticias) <= '0'){
  echo "$info_not";	
}else{

$numero = '0';

	while($res_noticias=mysql_fetch_array($noticias)){

	$thumb = $res_noticias[0];
	$titulo = $res_noticias[1];
	$texto = $res_noticias[2];
	$categoria = $res_noticias[3];
	$data = $res_noticias[4];
	$autor = $res_noticias[5];
	$valor_real = $res_noticias[6];
	$valor_pagseguro = $res_noticias[7];
	$visitas = $res_noticias[8];
	$numero++;

$add_visita = $visitas + 1;
$up_visitas = mysql_query("UPDATE up_posts SET visitas = '$add_visita', data = '$data' WHERE id = '$topico'")
          	or die(mysql_error());


 $pega_autor = mysql_query("SELECT nome FROM up_users WHERE id = '$autor'")
              	or die(mysql_error());
 if(@mysql_num_rows($pega_autor) <= '0') echo 'Erro ao selecionar o usuario';
 else{

	 while($res_autor=mysql_fetch_array($pega_autor)){

		 $autor_do_post = $res_autor[0];

?>

	<h1><?php echo $titulo;?></h1>
<script type="text/javascript"><!--
google_ad_client = "pub-3505393501368142";
/* 728x90, criado 17-10-2011 */
google_ad_slot = "1298027856";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
	<span class="info">Data: <?php echo date('d/m/Y - H:m', strtotime($data)); ?> | Autor: <?php echo $autor_do_post; ?> | Categoria: <?php echo $categoria; ?> | Visitas: <?php echo $visitas; ?></span>

<a href="uploads/<?php echo $categoria; ?>/<?php echo $thumb; ?>" rel="shadowbox">
<img src="uploads/<?php echo $categoria; ?>/<?php echo $thumb; ?>" class="alinright" alt="<?php echo $titulo; ?>" width="200" title="<?php echo $titulo; ?>"/>
</a>

	<?php echo $texto;?>
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3505393501368142";
/* FilmesAnimados_banner */
google_ad_slot = "4154170126";
google_ad_width = 728;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<?php
if ($_SERVER['REQUEST_METHOD']=="POST") {
   	$insert = mysql_query("INSERT INTO comentario (idNoticia, texto) VALUES (".$_POST['id'].", '" . mysql_real_escape_string($_POST['texto']) ."'");
   	if($insert){
           	echo '<script>alert("Sucesso no cadastro");</script>';
   	}
   	else echo '<script>alert("O comentario nao pode ser inserido!");</script>'; 
}
?>

<?php
   	$sql = "SELECT * FROM up_posts WHERE id = " . $_GET['id'];
   	$result = mysql_query($sql);
   	if ($row = mysql_fetch_array($result)) {

           	echo '<h1>'. $row['nome']. '</h1>';
           	echo $row['id'];

           	$sql = "SELECT * FROM comentario WHERE idNoticia = " . $row['id'];
           	$result_comment = mysql_query($sql);
           	while ($row_comment = mysql_fetch_array($result_comment)) {
                   	echo '<span style="background-color: #FFF; margin:50px;">'. $row_comment['texto']. '</span><br /><br />';
           	}   	
           	mysql_free_result($result_comment); 	
   	}
   	mysql_free_result($result);
?>
<h2>Adicionar comentario</h2>
<form name="form1" action="" method="POST">

<label>Sua MEnsagem</label>
<textarea name="texto" rows="4" cols="20">
</textarea>
<input type="hidden" name="id" value="<?php echo $_GET['id']; ?>" />
<input type="submit" value="Enviar" name="enviar" id="enviar" />
</form>

<?php if($categoria == 'Noticias'){
?>


<?php
}else{
}
?>

<?php
}
}
?>
<?php
}
}
?>
  </div><!--page-->

</div><!--page_content-->

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz um echo $sql depois de

 

$sql = "SELECT * FROM up_posts WHERE id = " . $_GET['id'];

 

PHP Error Message

Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in /home/a1012737/public_html/nav/single.php on line 105

Compartilhar este post


Link para o post
Compartilhar em outros sites

você fez:

 

$sql = "SELECT * FROM up_posts WHERE id = " . $_GET['id'];
echo  $sql;

ele realmente nao está a ir buscaro id SELECT * FROM up_posts WHERE id =

 

pode continuar ajudar me amanha com este codigo,é que estou bue cansado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na URL não esta passando o id, fui agora ver em seu site, você passa o topico:

 

http://filmesanimados.net63.net/index.php?topicos=nav/single&topico=O%20Gato%20das%20Botas

 

mas tem de passar o id da noticia assim dá erro pk o $_GET['id'] não existe

 

Td bem, amanha gente vê isso, mas retira isso do site, nao deve mostrar nem erros e muito menos sql.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na URL não esta passando o id, fui agora ver em seu site, você passa o topico:

 

http://filmesanimado...o%20das%20Botas

 

mas tem de passar o id da noticia assim dá erro pk o $_GET['id'] não existe

 

Td bem, amanha gente vê isso, mas retira isso do site, nao deve mostrar nem erros e muito menos sql.

agora coloquei o id topico

ai já se naota que vai buscar pelo titulo da pagina

agora tenho estes erros Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/a1012737/public_html/nav/single.php on line 106

 

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/a1012737/public_html/nav/single.php on line 118

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.