0

Sistema de Votación tipo “Me gusta / No me gusta” en PHP Puro (Código Explicado)

Comparte

📝 Contenido:

En este tutorial aprenderás a crear un sistema de votación tipo “me gusta / no me gusta” en PHP y MySQL, sin frameworks. Es ideal para sitios web donde los usuarios pueden valorar contenido como publicaciones, productos o artículos.


🗂️ Estructura de Archivos:

/votacion
├── conexion.php
├── index.php
├── votar.php
└── tabla.sql

🧱 Paso 1: Crear la base de datos

tabla.sql:

CREATE TABLE contenidos (
  id INT AUTO_INCREMENT PRIMARY KEY,
  titulo VARCHAR(100),
  me_gusta INT DEFAULT 0,
  no_me_gusta INT DEFAULT 0
);

INSERT INTO contenidos (titulo) VALUES ('Artículo 1'), ('Artículo 2');

🔗 Paso 2: Conexión a la base de datos

conexion.php:

<?php
$conexion = new mysqli("localhost", "root", "", "votacion");
if ($conexion->connect_error) {
    die("Conexión fallida: " . $conexion->connect_error);
}
?>

📄 Paso 3: Página principal

index.php:

<?php include 'conexion.php'; ?>
<h2>Votación "Me gusta / No me gusta"</h2>

<?php
$resultado = $conexion->query("SELECT * FROM contenidos");

while ($fila = $resultado->fetch_assoc()) {
    echo "<h3>{$fila['titulo']}</h3>";
    echo "<form action='votar.php' method='POST'>";
    echo "<input type='hidden' name='id' value='{$fila['id']}'>";
    echo "<button name='accion' value='like'>👍 Me gusta ({$fila['me_gusta']})</button>";
    echo "<button name='accion' value='dislike'>👎 No me gusta ({$fila['no_me_gusta']})</button>";
    echo "</form><hr>";
}
?>

✅ Paso 4: Procesar votos

votar.php:

<?php
include 'conexion.php';

$id = (int)$_POST['id'];
$accion = $_POST['accion'];

if ($accion === 'like') {
    $conexion->query("UPDATE contenidos SET me_gusta = me_gusta + 1 WHERE id = $id");
} elseif ($accion === 'dislike') {
    $conexion->query("UPDATE contenidos SET no_me_gusta = no_me_gusta + 1 WHERE id = $id");
}

header("Location: index.php");
?>

🧠 Consideraciones:

  • Se puede mejorar con sistema de sesiones o IP para evitar votos múltiples.
  • También puedes agregar AJAX para evitar recargar la página.
  • Funciona perfectamente en PHP puro sin frameworks.




codigo fuente gratis

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *