Panduan Lengkap: Membuat Blog Sederhana dengan PHP dan HTML

dani indra

Panduan Lengkap: Membuat Blog Sederhana dengan PHP dan HTML

Membuat blog sederhana adalah langkah pertama yang sangat baik untuk memahami dasar-dasar pengembangan web menggunakan PHP dan HTML. Dalam panduan ini, kita akan membahas langkah-langkah membuat blog sederhana yang mencakup fungsi dasar seperti menampilkan postingan, menambahkan posting baru, dan mengelola komentar.

Langkah 1: Menyiapkan Struktur Proyek

1.1. Buat Direktori Proyek:

  • Buat folder baru di server web Anda. Misalnya, “my-simple-blog”.

1.2. Struktur Folder:

  • Buat struktur folder dasar, seperti:
    my-simple-blog/ ├── assets/ │ ├── css/ │ ├── images/ │ └── js/ ├── includes/ │ ├── config.php │ ├── db.php │ └── functions.php ├── templates/ │ ├── header.php │ ├── footer.php │ └── home.php ├── index.php ├── single.php ├── add_post.php └── comments.php

Langkah 2: Desain Basis HTML

2.1. Header dan Footer:

  • Buat file header.php untuk bagian kepala dan footer.php untuk bagian kaki halaman.
   <!-- header.php -->
   <!DOCTYPE html>
   <html lang="en">
   <head>
       <meta charset="UTF-8">
       <meta name="viewport" content="width=device-width, initial-scale=1.0">
       <link rel="stylesheet" href="assets/css/style.css">
       <title>My Simple Blog</title>
   </head>
   <body>
       <header>
           <h1><a href="index.php">My Simple Blog</a></h1>
       </header>

   <!-- footer.php -->
       <footer>
           <p>&copy; 2023 My Simple Blog</p>
       </footer>
   </body>
   </html>

2.2. Halaman Beranda (home.php):

  • Buat file home.php untuk menampilkan postingan blog.
   <!-- home.php -->
   <?php include 'templates/header.php'; ?>

   <main>
       <h2>Posting Terbaru</h2>
       <!-- Tampilkan postingan blog di sini -->
   </main>

   <?php include 'templates/footer.php'; ?>

Langkah 3: Membuat Fungsi-fungsi PHP Dasar

3.1. File config.php:

  • Atur konfigurasi dasar, seperti koneksi database.
   <?php
   define('DB_HOST', 'localhost');
   define('DB_USER', 'root');
   define('DB_PASS', '');
   define('DB_NAME', 'simple_blog');

   $conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);

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

3.2. File db.php:

  • Buat fungsi untuk mengambil data dari database.
   <?php
   function get_posts() {
       global $conn;
       $query = "SELECT * FROM posts ORDER BY created_at DESC";
       $result = $conn->query($query);
       return $result->fetch_all(MYSQLI_ASSOC);
   }

3.3. File functions.php:

  • Tambahkan fungsi-fungsi PHP lainnya seperti menambahkan postingan dan menampilkan komentar.
   <?php
   function add_post($title, $content) {
       global $conn;
       $query = "INSERT INTO posts (title, content) VALUES ('$title', '$content')";
       $conn->query($query);
   }

   function get_comments($post_id) {
       global $conn;
       $query = "SELECT * FROM comments WHERE post_id = $post_id ORDER BY created_at DESC";
       $result = $conn->query($query);
       return $result->fetch_all(MYSQLI_ASSOC);
   }

   function add_comment($post_id, $author, $content) {
       global $conn;
       $query = "INSERT INTO comments (post_id, author, content) VALUES ($post_id, '$author', '$content')";
       $conn->query($query);
   }

Langkah 4: Menambahkan Postingan

4.1. Formulir Tambah Posting (add_post.php):

  • Buat formulir untuk menambah postingan.
   <!-- add_post.php -->
   <?php include 'templates/header.php'; ?>

   <main>
       <h2>Tambah Postingan</h2>
       <form action="add_post.php" method="post">
           <label for="title">Judul:</label>
           <input type="text" id="title" name="title" required>

           <label for="content">Isi Postingan:</label>
           <textarea id="content" name="content" rows="4" required></textarea>

           <button type="submit" name="submit">Tambahkan Postingan</button>
       </form>
   </main>

   <?php include 'templates/footer.php'; ?>

4.2. Proses Tambah Posting (add_post.php):

  • Proses formulir dan tambahkan postingan ke database.
   <?php
   include 'includes/config.php';
   include 'includes/functions.php';

   if ($_SERVER['REQUEST_METHOD'] === 'POST') {
       $title = $_POST['title'];
       $content = $_POST['content'];

       add_post($title, $content);

       header('Location: index.php');
       exit;
   }

Langkah 5: Menampilkan Postingan di Beranda

5.1. Menampilkan Postingan (home.php):

  • Gunakan fungsi get_posts untuk menampilkan postingan di beranda.
   <!-- home.php -->
   <?php include 'templates/header.php'; ?>

   <main>
       <h2>Posting Terbaru</h2>
       <?php
       $posts = get_posts();
       foreach ($posts as $post) {
           echo "<article>";
           echo "<h3>{$post['title']}</h3>";
           echo "<p>{$post['content']}</p>";
           echo "</article>";
       }
       ?>
   </main>

   <?php include 'templates/footer.php'; ?>

Langkah 6: Menambahkan Komentar

6.1. Menampilkan Komentar (comments.php):

  • Buat file comments.php untuk menampilkan komentar di halaman postingan tunggal.
   <!-- comments.php -->
   <?php
   $post_id = $_

GET['post_id'];
   $comments = get_comments($post_id);
   foreach ($comments as $comment) {
       echo "<div class='comment'>";
       echo "<p><strong>{$comment['author']}</strong>: {$comment['content']}</p>";
       echo "</div>";
   }
   ?>

6.2. Formulir Tambah Komentar (single.php):

  • Tambahkan formulir untuk menambah komentar di halaman postingan tunggal.
   <!-- single.php -->
   <?php include 'templates/header.php'; ?>

   <main>
       <?php
       $post_id = $_GET['post_id'];
       $post = get_post($post_id);
       echo "<article>";
       echo "<h2>{$post['title']}</h2>";
       echo "<p>{$post['content']}</p>";
       echo "</article>";
       include 'comments.php';
       ?>

       <h3>Tambah Komentar</h3>
       <form action="single.php?post_id=<?php echo $post_id; ?>" method="post">
           <label for="author">Nama:</label>
           <input type="text" id="author" name="author" required>

           <label for="comment">Komentar:</label>
           <textarea id="comment" name="comment" rows="4" required></textarea>

           <button type="submit" name="submit_comment">Tambahkan Komentar</button>
       </form>
   </main>

   <?php include 'templates/footer.php'; ?>

6.3. Proses Tambah Komentar (single.php):

  • Proses formulir dan tambahkan komentar ke database.
   <?php
   include 'includes/config.php';
   include 'includes/functions.php';

   if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['submit_comment'])) {
       $author = $_POST['author'];
       $comment = $_POST['comment'];
       $post_id = $_GET['post_id'];

       add_comment($post_id, $author, $comment);

       header("Location: single.php?post_id=$post_id");
       exit;
   }

Kesimpulan

Dengan mengikuti langkah-langkah di atas, Anda telah membuat blog sederhana menggunakan PHP dan HTML. Tentu saja, ini hanyalah permulaan, dan Anda dapat mengembangkan blog ini lebih lanjut dengan menambahkan fitur seperti otentikasi pengguna, kategori posting, dan pencarian. Selain itu, penting untuk terus meningkatkan keamanan dan melakukan validasi input untuk melindungi blog Anda dari potensi serangan keamanan.

Leave a Comment