insert comments without refreshing the page

Asked

Viewed 35 times

0

Can someone help insert comments into my database and then show them without doing refresh page?

INICIO.PHP

<!-- BIBLIOTECA JQUERY(OFF-LINE)--> 
<script src="JQuery/jquery-1.11.3.js"></script>

<!--JAVASCRIPT-->
<script type="text/javascript" language="javascript">

$(document).ready(function() {

    //quando o utilizador clicar em button...
    $('button').click(function(){

    var txt_comentario = $('#txt_comentario').val();    

        $.ajax({
            url: 'inserir_comentario.php', <!--URL que desejamos solicitar-->
            type: 'POST', <!--metodo usado-->
            data: {txt_comentario:txt_comentario}, <!--dados a enviar no pedido-->

            function(resposta_da_url){    <!--conteúdo da página solicitada-->

                $('#mostrar_comentarios').prepend(txt_comentario + '<br>');


            });



        });

    });

});
</script>

</head>
<body>

<div class="conteudo"><!--INICIO DA CLASS CONTEUDO-->

<form id="form_comentario" action="javascript: func()" method="post">

<textarea name="txt_comentario" id="txt_comentario" onKeyDown="autoResize()" maxlength="500" placeholder="Digite o seu comentario..."></textarea>

<br>

<div id="status" style="display: none;"></div>

<button>Comentar</button>

<!--NOTA - Vale ressaltar que para fazer isso você não pode usar o botão submit, pois por mais que sua ação seja nula 
ele irá atualizara página...-->
<!--<input type="submit" name="btn_comentar" value="comentar">-->   

</form>

<div id="mostrar_comentarios">

<?php
require_once 'ligacao_BaseDados.php';

$buscar_comentario = $ligacao->query("SELECT * FROM comentarios ORDER BY id_comentario DESC") or die(mysqli_error()  );
while($mostrar = mysqli_fetch_array($buscar_comentario))
{
    $id_comentario = $mostrar['id_comentario'];
    $comentario = $mostrar['text_comentario'];

 echo $comentario ; 

}
?>





</div>

INSERIR_COMENTARIO.PHP

    <?php

require_once 'Ligacao_BaseDados.php';

$comentario = $_POST['txt_comentario'];

if (empty($comentario)) 
{
    echo '<span class="msg" style="color:red">Não pode comentar em branco! </span>';
} 

// Se não houver nenhum erro
else {
    // Inserimos no banco de dados
$inserir_comentario = $ligacao->query("INSERT INTO comentarios (text_comentario) VALUES ( '".$comentario."'  ) ")or die(mysqli_error()  );

echo  '<span class="msg" style="color:green">Obrigado pelo comentario! </span>';

$buscar_comentario = $ligacao->query("SELECT * FROM comentarios ORDER BY id_comentario DESC") or die(mysqli_error()  );
while($mostrar = mysqli_fetch_array($buscar_comentario))
{
    $id_comentario = $mostrar['id_comentario'];
    $comentario = $mostrar['text_comentario'];
}

echo $comentario;




}



?>
  • Yes, what’s the problem? You’ve done the [tour] of the site?

1 answer

0

For this you will have to use Ajax/jQuery, you can do it this way

PHP.

$sql = $pdo->prepare("INSERT INTO 'tabela' SET valor = valor")
$sql->execute();

ARQUIVO.JS

$.ajax({
   type: 'POST',
   URL: 'URL DO SEU ARQUIVO',
   data: $('textarea').val(),
   dataType: 'json',
   success: function(data){
      $('div').append($('textarea').val())
      $('textarea').val('')
   }
})

Remembering that it’s just an example of how to do

Browser other questions tagged

You are not signed in. Login or sign up in order to post.