Cómo Crear un CMS Relay en PHP Paso a Paso
Un CMS Relay es una plataforma que permite la administración de contenidos de una página web o aplicación. A continuación te mostramos cómo crear un CMS básico en PHP paso a paso.
📌 Requisitos Previos
- Servidor web con PHP y MySQL (o MariaDB) instalados (puede ser local o remoto).
- Editor de código (como Visual Studio Code, Sublime Text, etc.).
- Acceso a la base de datos (phpMyAdmin o cliente MySQL).
1. Crear la Base de Datos
Primero, debes crear una base de datos para tu CMS. Puedes hacerlo desde phpMyAdmin o desde la consola MySQL:
CREATE DATABASE cms_relay;
Luego, dentro de esa base de datos, crea una tabla para almacenar los contenidos:
CREATE TABLE articles (
id INT(11) AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
content TEXT NOT NULL,
date_created TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
2. Crear el Archivo de Conexión a la Base de Datos
En el directorio raíz de tu proyecto, crea un archivo llamado db.php
para manejar la conexión a la base de datos:
<?php
$host = "localhost";
$db_name = "cms_relay";
$username = "root"; // Cambia esto si es necesario
$password = ""; // Cambia esto si es necesario
try {
$conn = new PDO("mysql:host=$host;dbname=$db_name", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
?>
3. Crear la Página Principal para Mostrar Artículos
Crea un archivo llamado index.php
donde mostrarás los artículos almacenados en la base de datos:
<?php
include("db.php");
$query = "SELECT * FROM articles ORDER BY date_created DESC";
$stmt = $conn->prepare($query);
$stmt->execute();
$articles = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>
<!DOCTYPE html>
<html>
<head>
<title>CMS Relay</title>
</head>
<body>
<h1>Bienvenido a CMS Relay</h1>
<ul>
<?php foreach ($articles as $article): ?>
<li><a href="view.php?id=<?php echo $article['id']; ?>"><?php echo $article['title']; ?></a></li>
<?php endforeach; ?>
</ul>
</body>
</html>
4. Crear la Página para Ver un Artículo
Ahora, crea el archivo view.php
para mostrar los detalles de un artículo cuando el usuario haga clic en el título:
<?php
include("db.php");
if (isset($_GET['id'])) {
$article_id = $_GET['id'];
$query = "SELECT * FROM articles WHERE id = :id";
$stmt = $conn->prepare($query);
$stmt->bindParam(':id', $article_id, PDO::PARAM_INT);
$stmt->execute();
$article = $stmt->fetch(PDO::FETCH_ASSOC);
} else {
echo "Artículo no encontrado.";
exit;
}
?>
<!DOCTYPE html>
<html>
<head>
<title><?php echo $article['title']; ?></title>
</head>
<body>
<h1><?php echo $article['title']; ?></h1>
<p><?php echo $article['content']; ?></p>
<p>Publicado el: <?php echo $article['date_created']; ?></p>
<a href="index.php">Volver a la lista de artículos</a>
</body>
</html>
5. Agregar Artículos al CMS
Para agregar artículos al CMS, crea un formulario de administración. Crea un archivo llamado admin.php
con el siguiente código:
<?php
include("db.php");
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$title = $_POST['title'];
$content = $_POST['content'];
$query = "INSERT INTO articles (title, content) VALUES (:title, :content)";
$stmt = $conn->prepare($query);
$stmt->bindParam(':title', $title);
$stmt->bindParam(':content', $content);
$stmt->execute();
echo "Artículo agregado con éxito.";
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Agregar Artículo - CMS Relay</title>
</head>
<body>
<h1>Agregar Nuevo Artículo</h1>
<form method="POST">
<label for="title">Título:</label>
<input type="text" name="title" required><br>
<label for="content">Contenido:</label>
<textarea name="content" required></textarea><br>
<button type="submit">Agregar Artículo</button>
</form>
</body>
</html>
🔹 Consejos Adicionales
- Este es un CMS básico, si deseas agregar características adicionales, como edición o eliminación de artículos, puedes agregar más formularios y funcionalidades.
- Considera agregar un sistema de autenticación de usuario para asegurar que solo los administradores puedan agregar o editar artículos.
- Si planeas hacer un sitio en producción, asegúrate de tomar medidas de seguridad adecuadas, como la validación de entradas y la protección contra inyecciones SQL.
🎉 ¡CMS Relay Creado con Éxito!
Siguiendo estos pasos, has creado un CMS básico en PHP. Ahora puedes administrar y mostrar contenido en tu página web. 🚀
0 comentarios:
Publicar un comentario