Contoh Website Dinamis Menggunakan PHP

Ikon PHP dan Database

Visualisasi Sederhana Interaksi Server Side (PHP)

PHP (Hypertext Preprocessor) tetap menjadi salah satu bahasa pemrograman sisi server yang paling populer untuk pengembangan web. Kekuatannya terletak pada kemudahannya berintegrasi dengan HTML dan kemampuannya untuk berinteraksi langsung dengan basis data, menciptakan situs web yang dinamis dan kaya fitur. Memahami contoh website dengan PHP sangat penting bagi siapa saja yang ingin beralih dari website statis ke aplikasi web yang sesungguhnya.

Sebuah website dinamis yang dibuat dengan PHP biasanya memiliki tiga komponen utama: HTML untuk struktur tampilan, CSS untuk gaya, dan PHP sebagai otak yang memproses logika, mengambil data dari basis data (seperti MySQL), dan kemudian menyajikan hasilnya dalam format HTML kepada pengguna.

1. Contoh Paling Dasar: Halaman Selamat Datang

Contoh paling sederhana adalah menampilkan tanggal dan waktu saat ini. Ini menunjukkan bagaimana PHP dapat menyuntikkan output langsung ke dalam dokumen HTML.

<!DOCTYPE html> <html> <head> <title>Waktu Server</title> </head> <body> <h1>Selamat Datang!</h1> <p>Halaman ini dimuat pada: <?php echo date("H:i:s d-m-Y"); ?></p> </body> </html>

Dalam contoh di atas, tag PHP <?php ... ?> dieksekusi di server, menghasilkan string waktu saat ini yang kemudian dikirim sebagai HTML biasa ke browser pengguna. Ini adalah fondasi dari setiap contoh website dengan PHP yang lebih kompleks.

2. Interaksi Pengguna: Formulir dan Pemrosesan Data (GET/POST)

Fungsionalitas inti dari website modern adalah kemampuan memproses input pengguna. Berikut adalah ilustrasi singkat bagaimana PHP menangani data yang dikirim melalui formulir HTML (metode POST).

File: form.html

<form action="proses.php" method="POST"> Nama Anda: <input type="text" name="nama" required><br> Email Anda: <input type="email" name="email" required><br> <input type="submit" value="Kirim"> </form>

File: proses.php

<?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $nama = htmlspecialchars($_POST['nama']); $email = htmlspecialchars($_POST['email']); echo "<h1>Terima Kasih, " . $nama . "</h1>"; echo "<p>Email Anda (" . $email . ") telah diterima untuk pemrosesan lebih lanjut.</p>"; } else { echo "<p>Akses ditolak. Silakan gunakan formulir.</p>"; } ?>

Penggunaan variabel superglobal $_POST adalah cara standar PHP untuk mengakses data yang dikirim. Fungsi htmlspecialchars() di sini penting untuk keamanan, mencegah serangan dasar seperti Cross-Site Scripting (XSS). Setiap contoh website dengan PHP yang baik harus selalu memvalidasi dan membersihkan input pengguna.

3. Koneksi Basis Data: Membaca Data

Sebuah website menjadi benar-benar dinamis ketika ia berinteraksi dengan basis data. Misalnya, membuat daftar produk atau artikel blog. Kita akan menggunakan ekstensi PDO (PHP Data Objects) yang lebih aman dibandingkan metode lama.

Asumsikan kita memiliki tabel 'artikel' di MySQL, kode koneksi dan pembacaan data (tanpa menampilkan struktur tabel SQL-nya) akan terlihat seperti ini.

<?php $host = 'localhost'; $db = 'nama_database'; $user = 'db_user'; $pass = 'password'; $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); } catch (\PDOException $e) { throw new \PDOException($e->getMessage(), (int)$e->getCode()); } // Query untuk mengambil data $stmt = $pdo->query('SELECT judul, ringkasan FROM artikel ORDER BY id DESC'); echo "<h2>Daftar Artikel Terbaru</h2>"; while ($row = $stmt->fetch()) { echo "<div class='post'>"; echo "<h3>" . htmlspecialchars($row['judul']) . "</h3>"; echo "<p>" . htmlspecialchars($row['ringkasan']) . "</p>"; echo "</div>"; } ?>

Penggunaan Prepared Statements (walaupun di sini disederhanakan dengan query langsung untuk demonstrasi) dan PDO memastikan bahwa aplikasi web Anda aman dari injeksi SQL. Ini adalah standar emas untuk setiap implementasi contoh website dengan PHP modern yang berhubungan dengan data.

Kesimpulan

PHP sangat fleksibel. Mulai dari menampilkan waktu sederhana, memproses formulir, hingga membangun sistem manajemen konten (CMS) lengkap yang terhubung ke basis data, semua dapat dicapai. Meskipun ada banyak framework modern (seperti Laravel atau Symfony), memahami konsep dasar di balik kode PHP murni seperti yang dicontohkan di atas adalah langkah pertama yang tak tergantikan dalam menguasai pengembangan web sisi server.