29/01/2016

Dúvida php

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>

PHP

Hiago Orneles

Melhor resposta

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"

David Sylvestre

Responder Citar

Outras Respostas

31/01/2016

William (devwilliam)

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!
Responder Citar

02/02/2016

Din

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.
Responder Citar