Representasi Visual Pengembangan Web Dinamis
PHP (Hypertext Preprocessor) telah lama menjadi tulang punggung utama dalam pengembangan aplikasi web dinamis. Kemampuannya untuk tertanam langsung di dalam kode HTML menjadikannya pilihan populer bagi para developer, baik untuk proyek skala kecil maupun sistem enterprise yang kompleks. Memahami contoh program php berbasis web adalah langkah krusial untuk menguasai pengembangan sisi server.
Program paling mendasar dalam PHP menunjukkan bagaimana server memproses instruksi sebelum mengirimkan hasilnya sebagai HTML murni ke browser. Dalam konteks web, ini seringkali melibatkan interaksi dengan variabel global seperti `$_GET` atau `$_POST`.
Berikut adalah contoh file `sapa.php` yang menerima nama melalui URL (misalnya: `sapa.php?nama=Budi`):
<!DOCTYPE html>
<html>
<head>
<title>Sapaan PHP</title>
</head>
<body>
<h1>Selamat Datang di Aplikasi Web Sederhana</h1>
<?php
// Memeriksa apakah parameter 'nama' ada di URL
if (isset($_GET['nama'])) {
$nama_pengunjung = htmlspecialchars($_GET['nama']);
echo "<p>Halo, " . $nama_pengunjung . "! Senang bertemu Anda.</p>";
} else {
echo "<p>Halo, Pengunjung! Silakan masukkan nama Anda di URL.</p>";
}
?>
</body>
</html>
Penggunaan `htmlspecialchars()` sangat penting dalam lingkungan web untuk mencegah serangan XSS (Cross-Site Scripting), menunjukkan praktik keamanan dasar dalam pemrograman PHP.
Sebagian besar aplikasi web memerlukan input data dari pengguna. Form HTML dikirimkan ke skrip PHP yang sama atau berbeda untuk diproses. Ini adalah inti dari interaktivitas berbasis web.
Kita akan menggunakan satu file (`form_handler.php`) untuk menampilkan form dan memprosesnya. Ketika form dikirim (metode POST), PHP akan memvalidasi input sebelum menampilkannya kembali.
<?php
$pesan = "";
$nama = "";
$email = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// 1. Pengambilan Data Aman
$nama = trim($_POST['nama']);
$email = trim($_POST['email']);
// 2. Validasi Dasar
if (empty($nama) || empty($email)) {
$pesan = "<p style='color:red;'>Nama dan Email tidak boleh kosong!</p>";
} elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$pesan = "<p style='color:red;'>Format Email tidak valid.</p>";
} else {
// Jika validasi lolos (simulasi penyimpanan/pengiriman)
$pesan = "<p style='color:green;'>Terima kasih, " . htmlspecialchars($nama) . "! Pesan Anda telah diterima.</p>";
// Di sini seharusnya ada kode koneksi database atau fungsi mail()
$nama = ""; // Bersihkan variabel setelah sukses
$email = "";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Formulir PHP</title>
</head>
<body>
<h2>Kirimkan Pesan Anda</h2>
<?php echo $pesan; ?>
<form method="post" action="">
<label for="nama">Nama:</label><br>
<input type="text" id="nama" name="nama" value="<?php echo htmlspecialchars($nama); ?>" required><br><br>
<label for="email">Email:</label><br>
<input type="email" id="email" name="email" value="<?php echo htmlspecialchars($email); ?>" required><br><br>
<input type="submit" value="Kirim Data">
</form>
</body>
</html>
Contoh di atas menunjukkan alur kerja klasik: jika request bukan POST, tampilkan form. Jika request adalah POST, proses input, validasi, dan tampilkan status pesan kepada pengguna.
Kekuatan sejati PHP berbasis web terlihat saat berinteraksi dengan database (seperti MySQL) menggunakan ekstensi seperti PDO (PHP Data Objects). Meskipun kode koneksi database penuh cukup panjang, konsepnya melibatkan tiga langkah utama:
Misalnya, untuk mengambil daftar produk, kode PHP akan membuat kueri `SELECT * FROM produk` dan kemudian melakukan loop melalui hasilnya, mencetak setiap baris sebagai baris tabel HTML. Ini adalah dasar dari hampir semua sistem manajemen konten (CMS) dan e-commerce.
Mempelajari contoh program php berbasis web dari interaksi sederhana dengan URL hingga pemrosesan formulir yang kompleks membantu membangun fondasi yang kokoh. PHP menawarkan fleksibilitas luar biasa untuk mengubah data mentah dari server menjadi antarmuka pengguna yang interaktif dan fungsional. Dengan terus bereksperimen pada contoh-contoh dasar ini, pengembang dapat beralih ke framework modern seperti Laravel atau Symfony dengan pemahaman yang lebih mendalam tentang logika di baliknya.