Foros del Web » Programando para Internet » Jquery »

Enviar y mostrar comentario en jquery ajax

Estas en el tema de Enviar y mostrar comentario en jquery ajax en el foro de Jquery en Foros del Web. Hola soy nuevo en este foro espero que alguien puede ayudarme en mi necesidades: requiero de un sistema de comentarios en donde el usuario pueda ...
  #1 (permalink)  
Antiguo 16/06/2012, 16:19
Avatar de counsantor2d  
Fecha de Ingreso: junio-2012
Ubicación: Maracaibo
Mensajes: 12
Antigüedad: 12 años, 5 meses
Puntos: 1
Enviar y mostrar comentario en jquery ajax

Hola soy nuevo en este foro espero que alguien puede ayudarme en mi necesidades:

requiero de un sistema de comentarios en donde el usuario pueda comentar y ver su mensaje al mismo tiempo de la publicacion sin la necesidad de recargar la pagina. por lo mismo estuve buscando en google y encontre este codigo en jquery ajax.(?) pero tiene un fallo o no lo supe usar por que la verdad de jquery y ajax no se nada y el fallo esta que muestra el comentario ingresado pero no lo inserta en la base de datos: add_comentario.php?view=<?php echo $_GET['view']; ?>



en mi add_comentario.php esta funcionando todo bien no se que linea demas de codigo le puedo agregar a este codigo en ajax:

Código:
<script type="text/javascript">
$(document).ready(function() {
    $("#enviar-btn").click(function() {
        var comment = $("textarea#comment").val();
        var now = new Date();
        var date_show = now.getDate() + '-' + now.getMonth() + '-' + now.getFullYear() + ' ' + now.getHours() + ':' + + now.getMinutes() + ':' + + now.getSeconds();
        var dataString = '&comment=' + comment;
        $.ajax({
            type: "POST",
            url: "add_comentario.php?view=<?php echo $_GET['view']; ?>",
            data: dataString,
            success: function() {
                $('#newmessage').append('<div class="cmtmsj"><div class="hermsj">Marzo 24th 2012 03:59 AM</div><img src="img/23.jpg" class="cmtmsjimg" /><strong>usuario</strong><br /><div id="mostra-cmt">'+comment+'</div></div>');
            }
        });
        return false;
    });
});
</script>
mi formulario es de este modo:

Código:
<form action="" method="post" name="comentarios">
<textarea id="comment" name="comment"></textarea>
<input type="submit" value="publicar" id="enviar-btn" name="comentarios" class="bot">
</form>
espero que alguien pueda ayudarme a solucionar este tema...


El php esta todo bien por que cuando lo ajo sin el uso de ajax inserta el comentario en la db

Saludos!
  #2 (permalink)  
Antiguo 16/06/2012, 16:53
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 12 años, 5 meses
Puntos: 127
Respuesta: Enviar y mostrar comentario en jquery ajax

Tienes que tener conocimientos de cómo funcionan los protocolos POST y GET, lo primero, porque tienes que validar la variable GET view del lado del servidor para que tenga sentido esa petición.

Cita:
if(!empty($_GET['view']) AND $_GET['view']== "loquesea"){
$_POST['comment'];
}
La DATA, si es POST es mejor que sea

Cita:
data: {"comment":comment}
porque no se hasta que punto es lógico usar "&" al comenzar una cadena que de ningún modo se añadirá a la cola de variables de GET, & se utiliza para separar valores en un contexto con al menos un par clave->variable antes.

Tambien, del lado del servidor puedes usar el array $_REQUEST que contiene todas las variables POST, GET y Cookie.

Un saludo.
  #3 (permalink)  
Antiguo 16/06/2012, 18:14
Avatar de counsantor2d  
Fecha de Ingreso: junio-2012
Ubicación: Maracaibo
Mensajes: 12
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: Enviar y mostrar comentario en jquery ajax

te muestro mi arhivo add_comentario.php para que veas como esta funcionando todo basico...

Código:
require_once ("connect.php");
         $comment = $_POST["comment"];
         $idtema= $_GET["view"];
         $time = date("d/n/Y");
$query='INSERT INTO comentario(IDcm,comentario,idtema,time) VALUES ('null','$comment','$idtema','$time')';
$result= mysql_query($query);
	if(mysql_affected_rows())
	{
	               echo "<h2>se ha enviado correctamente</h2>";
	}else{
	              echo "<h2>error al enviar</h2>";
	}

todo esta bien definido como tu explicas arriba el problema es el script en ajax que no envia o procesa los datos :/

alguna forma facil para usar ajax en este sistema de comentarios en php ?

Enviar y mostrar datos sin recargar la pagina
  #4 (permalink)  
Antiguo 16/06/2012, 18:19
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 12 años, 5 meses
Puntos: 127
Respuesta: Enviar y mostrar comentario en jquery ajax

Motor AJAX que envíe un mensaje a un script PHP (ya lo tienes)

Un script PHP que procese los datos, los inserte en la DB y de un mensaje de confirmación (ya lo tienes)

Desde AJAX procesar la respuesta dada por el script PHP y en base a eso modificar el DOM en tiempo real. (ya lo tienes casi).

Un saludo.
  #5 (permalink)  
Antiguo 18/06/2012, 10:13
 
Fecha de Ingreso: marzo-2009
Mensajes: 395
Antigüedad: 15 años, 8 meses
Puntos: 11
Respuesta: Enviar y mostrar comentario en jquery ajax

Código:
url: "add_comentario.php?view=<?php echo $_GET['view']; ?>",
en la parte de ajax tienes esto puesto, pero no creo que esté bien, ya que estás manando variables por url, pero no lo tienes que hace con <?php echo...., sino en la parte de ajax, añadir un: data:'datos a enviar por url'

Tras hacer eso, en el archivo de php se recogeran los datos y los tratará según los hayas tratado, teniendo que volver a ajax mediante un echo en el archivo php
  #6 (permalink)  
Antiguo 18/06/2012, 16:14
Avatar de counsantor2d  
Fecha de Ingreso: junio-2012
Ubicación: Maracaibo
Mensajes: 12
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: Enviar y mostrar comentario en jquery ajax

disculpa mi ignorancia pero no entiendo lo que explicas osea me dices que no haga un echo aque ?

si te refieres a esto (add_comentario.php?view=<?php echo $_GET['view']; ?>) no hay problema ya que en ajax y cualquier programacion puedes mezclar mientra no rompas las reglas, lo cual creo que no hago...


añadir un data:'datos a enviar por url';

R: no te explicas bien o no entiendo lo que mencionas hay.

Etiquetas: ajax, comentario, sistema
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:46.