Sistema de ‘likes’ tipo Facebook Gratis

A veces en alguno que otro proyecto me han pedido un sistema de likes tipo Facebook. Como sabrás, Facebook no permite la customización de su botón, y no puedes ponerle estilos diferentes. Hacer un sistema de likes es sencillo, y lo podemos complicar todo lo que queramos, pero en este caso voy a explicar los pasos básicos.

1. Necesitaremos jQuery para la petición ajax.

Archivo: ./js/like.js

En esta petición haremos una llamada a un archivo php que es el que ejecutará las consultas necesarias. Por tanto, esta función lleva la id única que identifica aquel elemento que quieras valorar.

 2. Un par de funciones necesarias

Archivo: ./functions/functions.php

Para a) obtener la ip del visitante y así evitar el voto duplicado; y b) conseguir los likes que tiene en ese momento la id única

 3.  Archivo que realiza la petición like

Archivo: ./like.php

Este archivo es el que es llamado por la petición ajax para modificar la base de datos e incrementar el número de likes. Si detecta que la ip ya ha votado, no incrementa el número.

 4. Finalmente llamamos a las funciones

Archivo: ./index.php

Es este caso, tenemos que crear los enlaces que que actualizarán los votos de los elementos.

Y con todo esto ya tienes todo lo necesario.

Repositorio Github Demo Descarga (zip)

6 Comments

  • Gabriel 19 septiembre, 2015 Reply

    una pregunta, como puedo hacer para no usar sql, que se guarden las ip en un .txt ?

    Muchas gracias, grandioso tutorial

    • IguannaWeb 20 septiembre, 2015 Reply

      Hola Gabriel. En este caso, para no usar la base de datos, tendrás que usar algunas de las funciones php para escribir en archivos, puedes ver muchos ejemplos en php.net sobre file_put_content file_get_content fopen fwrite o fclose.

  • ivo 27 marzo, 2016 Reply

    hola tengo un problema al ponerlo en mi sistema de posts, me tira un error Cannot redeclare get_likes() (previously declared in D:\xampp\htdocs\sistema\functions\functions.php:5) in D:\xampp\htdocs\sistema\functions\functions.php on line 12

    lo que entiendo es que no se puede redeclarar la misma varible 2 veces pero necesito para varios posts alguna ayuda? :c

    no me sirve si es solo para uno

  • Deimer 19 mayo, 2018 Reply

    Holaa! como le haces para que sin necesidad de recargar, la pagina te muestre el numero de votos en custion. He visto la funcion get_likes pero como e ue sin recargar se ejecuta esa consulta? [correoborrado], por si alguna respuesta, saludos!

    • IguannaWeb 19 mayo, 2018 Reply

      Hola Deimer, pues son consultas con ajax, es decir, hace unos años todo era más complejo, hoy día es muy sencillo, de cara al usuario es muy fácil, pero de cara al programador implica más código. Échale un vistazo aquí: https://www.w3schools.com/xml/ajax_intro.asp

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.