Sistema de comentario con respuesta + panel de administración

Hola amigos como están esta vez les traigo un sistema de comentarios con respuesta más un panel de administración su planteamiento es bastante sencillo. Este sistema utiliza jQuery javascript css es responsive está basado en el lenguaje php mas una base de datos en  mysql  ..

Contiene varios archivos para su procesamiento, por el momento solo voy a explicar su funcionamiento ya que su código fuente es bastante extenso y me llevaría tiempo colocarlo y les tomaría tiempo a uds. como usuarios copiar y pegar el código , y acarrearía muchos hilos de errores como ya ha pasado en otros tutoriales , para eso voy a dejar su link de descarga mas abajo..

Pues bien comencemos :

Archivos a utilizar para el usuario:

Index.php

script.js

jquery.min.js

jquery-ui.min.js

funciones.php

saveComment.php

conexión.php

Index.php .- Este se va a encargar de mostrar los comentarios ya ingresados dentro de la base de datos , va a requerir de archivos como conexion.php , fecha.php , funciones.php .Los comentarios van a estar en orden ascendente por id , antes de mostrar los comentarios verificará que existan datos dentro de la tabla caso contrario mostrará un mensaje de advertencia que no existen comentarios…..

script.js .- Se va a encargar de mostrar un error en caso de que no exista comentarios en la tabla, además creará un script con sus respectivas clases para poder añadir un comentario , cabe recalcar que este script funcionará tanto en la respuesta de un comentario como un comentario padre, a su vez mediante ajax vía post se encargará de grabar los datos en la tabla y generará un mensaje al usuario de lo que respondió o comentó con una función javascript y jQuery …

jquery.min.js y jquery-ui.min.js .- Estos los podrás descargar desde la página de jquery o usar sus CDN HOSTED gratuitos a nivel mundial.

funciones.php .- aquí existen 2 funciones una es para mostrar y procesar los comentarios y la otra para limpiar caracteres especiales permitiendo ingresarlos e dejado esa opción ya que muchos comentarios podrían valerse para ingresar código fuente si deseas quitarlos utiliza la opción de strip_tags  dentro del proceso de envío post..

saveComment.php .- Este se encargará de ingresar los comentarios en la base de datos , la variable user puede ser modificada por cualquier usuario hay que tener en cuenta que para un sistema de comentario deberá estar registrado y haber iniciado sesión y obtener el usuario , pero por el momento este sistema no cuenta con ello , eso es algo que podrás modificar a tu conveniencia , con un sistema de login..

conexion.php .- Se encargará de crear la conexión para su correcto funcionamiento deberás cambiar los sgts. datos.

$db_host = 'localhost';
$db_user = 'usuario de base de datos';
$db_pass = 'contraseña de acceso a la base';
$db_database = 'la base de datos para este caso se llama pruebas';

fecha.php .- Se encargará de crear una función para obtener la fecha del comentario ingresado cabe recalcar que e dejado dos modos de grabación de fecha uds. verán que les conviene y que no..

estilo.css .- Este estilo es modificable si desean pueden darle otro aspecto yo he usado el de una publicación anterior para este demo.. Además que es responsive y se va a adaptar a pantallas pequeñas aunque falta hacerle algunos pequeños ajustes, pero eso es solo por este demo que lo he dejado así …

Para la administración de los comentarios:

Cabe recalcar que el login no cuenta con una encriptación de contraseña para este demo ese es una tarea que les dejo jejejee..

Archivos a utilizar por el momento los mas importantes :

listado.php

lista_borrar.php

lista_detalle.php

lista_no_aprovados.php

 

listado.php .- Se encargará de mostrar todos los comentarios por orden descendente… contiene un link hacia los detalles.

lista_borra.php.- Se encargará de borrar y actualizar los comentarios hay que tener en cuenta los comentarios padres no podrán ser borrados o actualizados por contener subcomentarios es decir que es una tarea que tienes que conseguir arreglar  jejeje…

lista_detalle.php .- Se encargará de mostrar el detalle de los comentarios y contiene los botones check listos para realizar cualquier acción ..

lista_no_aprovados .-Mostrará los resultados de los comentarios que contenga un campo SR que significa sin revisar y se podrá modificar si deseas que los comentarios sean aprobados antes de publicarlos simplemente modifica en saveComment el estado por SR , o en la tabla modifica el predeterminado de OK por SR bueno eso ya es decisión tuya .. jejejeee…

descargar código fuente

Cualquier comentario estaré dispuesto a responder con sus inquietudes y problemas …




  • Alejandro Guillan

    me pareció excelente, hay forma de poder poner como norma general que no todos sean usuario al responder, o sea que obligue a poner el nombre de la persona que comenta o responde

    • Claro deberás crear un inicio de sesión y usar dichas variables de sesión para grabarlas dentro de la base mas su foto de perfil.
      Este ejemplo es bastante sencillo. Saludos..

  • Pastor Angel Landaverde Perdom

    Gracias lo probare

  • Mecart Mecart

    tengo el login puesto como haria para que cuando comenten tome el nombre de usuario con el que ha iniciado?

    • Saludos Mecart esto no es un login es un sistema de comentarios….

  • Genesis

    Hola..!! una pregunta por que al modificar estilos.css no me hace los cambios en la vista.. sigue con los mismos colores? o son colores predefinidos..?

    • Saludos este sistema de comentarios está desactualizado y no le estamos dando soporte . Por el momento está como referencia y podria servir de ayuda para algun proyecto , ademas deberias cambiar las consultas y limpiar las variables.

      • Genesis

        Ok. Gracias amigo!! Excelente sistema de comentario …

  • Berenice

    Saludos…
    Una pregunta estoy haciendo este sistema de comentarios pero lo estoy implementando en mi proyecto de codeigniter, como puedo hacer para insertar los datos en la base de datos, porque no me lo guarda y no me hace la funcion de insertar…

    • Primero debes verificar que versión estas usando y seguir los modelos a usar Codeigniter no es tan difícil solo revisa su manual…

  • Darina

    hola…. disculpe estoy creando un sistema de comentario…lo estoy implementando en un sistema de ordenes de compras, como puedo hacer para que el comentario que se realice, en una orden de compra solo se visualice en esa orden y no en todas las ordenes que se han hecho…..

    • Utiliza un parent para cada comentario con el id de orden de compra saludos.

      • Darina

        disculpe….. como seria???….es que ya intente de varias formas….

        • En la tabla comentarios crea un nuevo campo llamado idparent y ese campo lo asocias con el id de la orden de compras. Cuando muestres la orden de compra haces un select de comentario donde el id de orden compra sea igual idparent listo… Es sencillo .

  • Jame Brown

    Como consigo más información? estoy por terminar mi carrera en educacion en la http://www.ups.edu.ec/ y quiero hacer una especialización en el tema pero no sé en dónde ni que campos relacionados a mi malla me sirvan. Acá esta mi malla http://www.ups.edu.ec/educacion-basica si me ayudan. mil Gracias.

    • Saludos Jame que tipo de información necesitas ?

  • tengo el mismo error en el antiguo sistema de comentarios Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO

  • Pingback: Login php mysql con jQuery y Ajax para web - Bloguero-ec()

  • Somos Digitalmente Gsm

    Un saludo, ustedes son los mismo dueños de AmistaDigital.Com ?

    • Saludos. No somos dueño de ese dominio..

  • Willy Arredondo Tejeda

    Hola yo quiero que ,me muestre siempre el ultimo comentario cargado, en orden DESC pero me da el siguiente error Undefined offset: 2 pero cuando lo hago en orden ASC me funciona como puedo hacer para que me lo muestre en orden DESC.

    Saludos

    • Saludos… tienes el codigo a la mano?

      • Willy Arredondo Tejeda

        Si lo tengo a la mano

        • Cual es? Ya probaste ingresando datos? Y que se encuentren en orden … limpia las tablas antes de usar..

          • Willy Arredondo Tejeda

            Ya las limpie, todas las tablas asi esta la consulta actualmente y funciona

            SELECT post_id, publicado, fecha, name, email, comentarios, estado, dia, mes, anio, ip_post, parent
            FROM comentarios
            WHERE estado = ‘OK’
            ORDER BY post_id ASC”

            pero cuando la pongo asi no funciona

            SELECT post_id, publicado, fecha, name, email, comentarios, estado, dia, mes, anio, ip_post, parent
            FROM comentarios
            WHERE estado = ‘OK’
            ORDER BY post_id DESC”

          • La consulta del index puede estar el problema dentro del for o while… este codigo es viejo y no recuerdo la sintaxis…. te aconsejo cambiar las consultas a mysqli o pdo…

          • Willy Arredondo Tejeda

            Ya las cambie las tengo en larvel hay te la muestro te envie esa sintax para que se tahga conocido osea el tema es que cuando lo pongo DESC no funciona y cuando lo pongo ASC asi gunciona y no he logrado hacer, que funcione para yo ver el ultimo comentario cargado primero

            $comentarios = AppModelsComentarios::where(‘estado’, ‘OK’)
            ->orderBy(‘id’, ‘DESC’)
            ->get();

          • Verifica las conultas del index..

          • Willy Arredondo Tejeda

            Esa es la consulta del index bueno gracias, de todos modos. ya veo como lo arreglo.

          • Puede radicar en que si lo pones en orden desc y es un parent . Ese parent no va a encontrar su id correspondiente… no lo habia analizado … lo verificaré para darle solución.. gracias.

          • Willy Arredondo Tejeda

            Si eso es lo que esta pasando, tambien toy tratando de buscar una solucion bueno de todos modos quedo a la espera

  • Alfredo Marquez

    Muy bueno !! Gracias por tu trabajo. ¿Tienes algún sistema de paginacion que se pueda poner en este sistema de comentarios? Tambien me gustaria saber como puedo hacer el boton del corazon que tienes para recomendar. Saludos