Simbol PHP dan Koneksi Database Ilustrasi sederhana yang menunjukkan kode PHP (simbol kurung kurawal) sedang berinteraksi dengan ikon database (silinder). PHP & DB

Panduan Dasar: Cara Membuat Website Sederhana dengan PHP

PHP (Hypertext Preprocessor) adalah bahasa scripting sisi server yang sangat populer untuk pengembangan web dinamis. Meskipun kini banyak framework modern, memahami dasar-dasar PHP adalah kunci untuk membangun fondasi website yang solid, bahkan untuk proyek sederhana.

Proses membuat website sederhana dengan PHP memerlukan tiga komponen utama: server web (seperti Apache), PHP itu sendiri, dan database (seperti MySQL). Untuk pemula, menggunakan paket lokal seperti XAMPP atau WAMP sangat disarankan.

Langkah 1: Persiapan Lingkungan Lokal

Sebelum menulis kode, pastikan Anda memiliki lingkungan yang siap:

Langkah 2: Membuat Halaman PHP Pertama (Hello World)

Kita akan mulai dengan membuat file indeks utama yang memanggil PHP.

Buat file bernama index.php di dalam folder proyek Anda dan masukkan kode berikut:

<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <title>Situs PHP Sederhana</title>
</head>
<body>
    <h1>Selamat Datang di Website PHP Saya</h1>
    
    <?php
        // Ini adalah kode PHP
        $nama_pengunjung = "Pengguna Baru";
        echo "<p>Halo, " . $nama_pengunjung . "! Hari ini adalah " . date("l, d F Y") . "</p>";
    ?>

</body>
</html>

Perhatikan penggunaan tag pembuka PHP <?php dan penutup ?>. Di dalamnya, kita menggunakan fungsi bawaan PHP seperti echo untuk menampilkan output ke HTML, dan date() untuk mendapatkan tanggal hari ini secara dinamis.

Langkah 3: Memahami Struktur File dan Pemisahan Konten

Untuk website yang sedikit lebih terstruktur, sebaiknya pisahkan tampilan (HTML) dengan logika (PHP). Kita dapat menggunakan fitur include PHP.

Buat dua file tambahan:

  1. header.php: Untuk bagian atas halaman (HTML sebelum konten).
  2. footer.php: Untuk bagian bawah halaman (penutup HTML).

Isi header.php:

<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <title>Website Terstruktur</title>
</head>
<body>
    <header>
        <h1>Header Utama Situs</h1>
    </header>
    <hr>

Isi footer.php:

    <hr>
    <footer>
        <p>&copy; Situs Sederhana Buatan Sendiri.</p>
    </footer>
</body>
</html>

Kemudian, modifikasi index.php Anda untuk memanggil keduanya:

<?php
    include 'header.php';
?>

    <main>
        <h2>Konten Utama Halaman</h2>
        <p>Ini adalah konten yang dinamis dan akan muncul di antara header dan footer.</p>
    </main>

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

Langkah 4: Integrasi Database Sederhana (Opsional, tapi Penting untuk Dinamis)

Website sederhana sering kali memerlukan penyimpanan data. Kita menggunakan MySQL melalui PHP Data Objects (PDO) atau MySQLi.

Catatan Keamanan: Dalam produksi nyata, kredensial database (username, password) tidak boleh ditulis langsung di file publik seperti ini. Untuk tujuan pembelajaran lokal, ini cukup.

Asumsikan Anda sudah membuat database bernama data_saya dan tabel bernama artikel.

Kode koneksi (misalnya di file koneksi.php):

<?php
    $host = 'localhost';
    $db   = 'data_saya';
    $user = 'root';
    $pass = ''; // Biasanya kosong di XAMPP/WAMP default
    $charset = 'utf8mb4';

    $dsn = "mysql:host=$host;dbname=$db;charset=$charset";
    $options = [
        PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
        PDO::ATTR_EMULATE_PREPARES   => false,
    ];

    try {
         $pdo = new PDO($dsn, $user, $pass, $options);
         // echo "Koneksi Database Berhasil!"; // Untuk testing
    } catch (\PDOException $e) {
         throw new \PDOException($e->getMessage(), (int)$e->getCode());
    }
?>

Lalu, di index.php (setelah menyertakan koneksi.php), Anda bisa mengambil data:

<?php
    include 'koneksi.php'; // Pastikan file ini ada
    
    $stmt = $pdo->query('SELECT judul, konten FROM artikel LIMIT 3');
    
    echo "<h2>Artikel Terbaru</h2>";
    while ($row = $stmt->fetch()) {
        echo "<div class='post'>";
        echo "<h3>" . htmlspecialchars($row['judul']) . "</h3>";
        // Menggunakan htmlspecialchars untuk mencegah XSS
        echo "<p>" . nl2br(htmlspecialchars($row['konten'])) . "</p>"; 
        echo "</div>";
    }
?>

Dengan mengikuti langkah-langkah ini, Anda telah berhasil membuat kerangka website sederhana yang menggunakan kemampuan dinamis dari PHP, baik untuk menampilkan data statis maupun terhubung dengan database.