Dúvida php

PHP

29/01/2016

Galera este e o meu codigo de comentario, porém o usuario pode responder um comentario só que quando o usuario responder um comentario ele aparece em outros comentarios vcs poderiam me dizer o pq? já tentei de tudo e não conseguir descobrir o pq.


<!-- css-->
<link rel="stylesheet" type="text/css" href="css/style.css" media="all" />

<!-- importação javascript -->
<script type="text/javascript" src="js/jquery-1.12.0.min.js"></script>
<script type="text/javascript" src="js/funcao.js"></script>
<body>
    <div id="geral">
    
    <?
	include 'conection.php';
  $busca = mysqli_query($iconexao,"SELECT * FROM comentario");
	 $contaComents = mysqli_num_rows($busca);
	 
	while($linha = mysqli_fetch_object($busca)){
	 $titulo = $linha->titulo;
	 $conteudo = $linha->conteudo;

  ?>    
       <div class="postagem">
       <h2><?php  echo $titulo; ?></h2>
       <p><?php  echo $conteudo; ?></p>
         
        
         
         <?php
	if(isset($_POST['acao']) && $_POST['acao'] == 'preenchido'){
		$comentario = trim($_POST['comentario']);
		
		if(empty($comentario)){
			echo "<script>alert(\"Preecha todos os campos\");</script>";
		}else{

			$inserirDados = mysqli_query($iconexao,"INSERT INTO comentarios (login, comentario) VALUES ('$login','$comentario')");
			echo "<script>alert(\"Enviado com Sucesso!\");</script>";
			header("Location: admin.php");
		}
	}
?>

 <span class="abre_coment">Comentarios</span>
              
              <div id="comentarios">
              <form action="" method="post" name="form_comentario" id="form_comentario">
                  <input type="text" name="nome_comentario" value="Digite seu nome" class="campo" />
                  <input type="text" name="comentario" size="50" value="Digite seu comentario" class="campo" />
                 <input type="hidden" name="acao" value="preenchido" />
        <input type="submit" name="botao" style="display:none" />
              </form>


<?php
	$selecionarDados = mysqli_query($iconexao,"SELECT * FROM comentarios ");
	$contaComents = mysqli_num_rows($selecionarDados);
	
			while($campos = mysqli_fetch_array($selecionarDados)){
		   $comentario = $campos['comentario'];
			
?>
         
                   <div class="comentarios">
                   <strong>Nome:</strong>
                   <p>Comentario: <?php  echo $comentario; ?></p>
                 
                 
                 
                 
                 
<?php
	if(isset($_POST['acao1']) && $_POST['acao1'] == 'preenchido'){
		$resposta = trim($_POST['resposta']);
		
		
			$inserirDados = mysqli_query($iconexao,"INSERT INTO respostas (login, resposta) VALUES ('$login','$resposta')");
			echo "<script>alert(\"Enviado com Sucesso!\");</script>";
			header("Location: admin.php");
		}
	
?>
                      
                  <span class="abre_respostas">Respostas</span>
                  <div id="respostas">
                   <form action="" method="post" name="form_respostas" id="form_respostas" style="padding:10px;">
                     <input type="text" name="nome_resposta" value="Digite seu nome" class="campo" />
                       <input type="text" name="resposta" value="Digite sua resposta" class="campo" size="40"/>
                     <input type="hidden" name="acao1" value="preenchido" />
                     <input type="submit" name="botao" style="display:none" />
                     </form>
                     
                     <?php 
		                    $selecionarDadoss = mysqli_query($iconexao,"SELECT * FROM respostas ");
	                            $contaComentss = mysqli_num_rows($selecionarDadoss);
	
		                         	while($campo = mysqli_fetch_array($selecionarDadoss)){
		                              $resposta = $campo['resposta'];
       				 ?>
                      
                                    <div class="respostas"> 
                                      <strong>Nome</strong>
                                    <p>Resposta: <?php  echo $resposta; ?></p>
                                    <? } ?>     
                   </div>                         
                   </div>
                   </div>
              </div><!-- comentarios -->    
          </div><!-- classe o postagem -->
          <?
            }
			}  
          ?>
     </div><!-- geral -->  
</body>
Hiago Orneles

Hiago Orneles

Curtidas 0

Melhor post

David Sylvestre

David Sylvestre

01/02/2016

Seu código da pra colocar uns sql injection legal.
Tenta modificar isso ai. Essa mistura de html com PHP ficou ruim de ler.
Organize suas entidades, nao consegui entender direito a relação "comentarios" e "respostas"
GOSTEI 1

Mais Respostas

William

William

29/01/2016

Hiago que sistema é esse, um blog, e-commerce, rede social e etc ...

Fica muito vago "quando o usuario responder um comentario ele aparece em outros comentarios", se fosse um blog o comentário deveria ser filiado ao id do post em que foi respondido, mas estou tentando adivinhar o que vc está fazendo!
GOSTEI 0
Claudio Lopes

Claudio Lopes

29/01/2016

Hiago...

Se você for iniciante no PHP, procure estudar orientação a objetos, com a introdução você já começa a utilizar alguns CRUD's (CREATE, READ, UPDATE, DELETE). Após finalizar o esse curso, parte para um framework, assim você digita menos (pois existe muita classe pronta) e se proteje contra sql injection.
GOSTEI 0
POSTAR