Home >Backend Development >PHP Tutorial >Build a Dynamic Content Management System with PHP

Build a Dynamic Content Management System with PHP

王林
王林Original
2024-10-10 11:47:22972browse

You can use PHP to build a dynamic content management system (CMS) that allows users to manage website content. The steps include: 1. Create a database 2. Connect to MySQL 3. Create a controller for creating articles 4. Create a controller for reading articles 5. Create a controller for updating articles 6. Create a controller for deleting articles Controller 7. Configure routing 8. Create views 9. Once completed, the CMS is ready to use.

Build a Dynamic Content Management System with PHP

Building a dynamic content management system using PHP

Introduction

A dynamic content management system (CMS) allows users to manage and maintain content on a website Content, no technical knowledge required. This article will guide you through building a simple CMS using PHP.

Practical Case

We will create a simple blog CMS that allows users to create, edit and delete blog posts.

Steps

1. Create database

CREATE TABLE articles (
  id INT AUTO_INCREMENT PRIMARY KEY,
  title VARCHAR(255) NOT NULL,
  content TEXT NOT NULL,
  created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);

2. Connect to MySQL

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "my_cms";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

3. Create CreateController

class CreateController {
  public function store() {
    $title = $_POST['title'];
    $content = $_POST['content'];

    $sql = "INSERT INTO articles (title, content) VALUES (?, ?)";
    $stmt = $this->conn->prepare($sql);
    $stmt->bind_param("ss", $title, $content);
    $stmt->execute();

    header("Location: /");
    exit;
  }
}

4. Create ReadController

class ReadController {
  public function index() {
    $sql = "SELECT * FROM articles ORDER BY created_at DESC";
    $stmt = $this->conn->prepare($sql);
    $stmt->execute();

    $articles = $stmt->get_result()->fetch_all(MYSQLI_ASSOC);

    return view('articles/index', ['articles' => $articles]);
  }
}

5. Create UpdateController

class UpdateController {
  public function edit($id) {
    $sql = "SELECT * FROM articles WHERE id = ?";
    $stmt = $this->conn->prepare($sql);
    $stmt->bind_param("i", $id);
    $stmt->execute();

    $article = $stmt->get_result()->fetch_assoc();

    return view('articles/edit', ['article' => $article]);
  }

  public function update($id) {
    $title = $_POST['title'];
    $content = $_POST['content'];

    $sql = "UPDATE articles SET title = ?, content = ? WHERE id = ?";
    $stmt = $this->conn->prepare($sql);
    $stmt->bind_param("ssi", $title, $content, $id);
    $stmt->execute();

    header("Location: /");
    exit;
  }
}

6. Create DeleteController

class DeleteController {
  public function destroy($id) {
    $sql = "DELETE FROM articles WHERE id = ?";
    $stmt = $this->conn->prepare($sql);
    $stmt->bind_param("i", $id);
    $stmt->execute();

    header("Location: /");
    exit;
  }
}

7. Create route

Use your favorite routing system configuration routing.

8. Create Views

Create the view file using your favorite template engine.

9. Complete

Once you complete these steps, your CMS is ready!

The above is the detailed content of Build a Dynamic Content Management System with PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn