Home >Backend Development >PHP Tutorial >Build a Dynamic Content Management System with PHP
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.
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.
We will create a simple blog CMS that allows users to create, edit and delete blog posts.
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!