Days
Hours
Minutes
Seconds

Promo Grand Opening

15% OFF

Khusus Pelanggan Baru

Tutorial PHP #15: Mengelola Form dengan PHP

Tentu, berikut adalah artikel untuk tutorial PHP berikutnya.


 

 

Formulir adalah salah satu elemen terpenting dalam interaksi antara pengguna dan aplikasi web. Form memungkinkan pengguna untuk mengirimkan data, seperti nama, email, pesan, atau informasi lainnya, ke server. PHP memiliki peran sentral dalam memproses data yang dikirimkan melalui form.

Dalam tutorial ini, kita akan belajar cara membuat form HTML dan bagaimana PHP menerima serta mengelola data yang dikirimkan.

 

1. Dasar-dasar Form HTML

 

Sebelum kita masuk ke PHP, penting untuk memahami dua atribut kunci dalam tag <form>:

  • action: Atribut ini menentukan file PHP di server mana data form akan dikirimkan untuk diproses.
  • method: Atribut ini menentukan metode HTTP yang digunakan untuk mengirim data. Ada dua metode utama: GET dan POST.

Contoh Form HTML Sederhana

Mari kita buat form sederhana untuk mengumpulkan nama dan email.

HTML

<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <title>Formulir Sederhana</title>
</head>
<body>

    <form action="proses.php" method="post">
        <label for="nama">Nama:</label><br>
        <input type="text" id="nama" name="nama"><br><br>
        
        <label for="email">Email:</label><br>
        <input type="email" id="email" name="email"><br><br>
        
        <input type="submit" value="Kirim Data">
    </form>

</body>
</html>

Perhatikan atribut name pada elemen <input>. Atribut ini sangat penting karena digunakan oleh PHP sebagai “kunci” untuk mengakses data yang dikirimkan.


 

2. Memproses Data Form di PHP

 

Setelah pengguna mengisi form dan menekan tombol “Kirim”, data akan dikirim ke file yang ditentukan dalam atribut action, yaitu proses.php. Sekarang, kita perlu membuat file proses.php untuk menangani data tersebut.

PHP menyediakan dua superglobal array untuk mengakses data form:

  • $_GET: Digunakan untuk mengumpulkan data form yang dikirim dengan metode GET.
  • $_POST: Digunakan untuk mengumpulkan data form yang dikirim dengan metode POST.

Superglobal array ini adalah array asosiatif di mana “kunci”nya adalah atribut name dari input form, dan “nilai”nya adalah data yang dimasukkan oleh pengguna.

File: proses.php

PHP

<?php
// Cek apakah data dikirim dengan metode POST
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // Ambil data dari form menggunakan $_POST
    $nama = $_POST['nama'];
    $email = $_POST['email'];

    // Lakukan sesuatu dengan data
    echo "Halo, " . htmlspecialchars($nama) . "!<br>";
    echo "Email Anda adalah: " . htmlspecialchars($email);
} else {
    echo "Metode pengiriman data tidak valid.";
}
?>

 

3. Perbedaan Antara Metode GET dan POST

 

Memilih metode yang tepat sangat penting untuk keamanan dan fungsionalitas aplikasi Anda.

 

Metode GET

 

  • Data form dikirim melalui URL.
  • Data terlihat jelas di bilah alamat browser.
  • Kurang aman karena data bisa disimpan di riwayat browser dan bookmark.
  • Cocok untuk mengambil data dari server, seperti hasil pencarian atau filter.
  • Ada batasan jumlah data yang bisa dikirim (sekitar 2000 karakter).

Contoh URL dengan GET:

proses.php?nama=Joko+Susilo&email=joko%40mail.com

 

Metode POST

 

  • Data form dikirim dalam “tubuh” permintaan HTTP.
  • Data tidak terlihat di URL.
  • Lebih aman dan lebih disarankan untuk data sensitif seperti password.
  • Tidak ada batasan ukuran data yang signifikan.
  • Cocok untuk mengirimkan data ke server untuk disimpan atau diproses, seperti pendaftaran, login, atau pengiriman pesan.

 

4. Validasi Data Form: Sebuah Kiat Keamanan Penting

 

Menerima input dari pengguna secara langsung tanpa validasi adalah praktik yang sangat berbahaya dan dapat membuka celah keamanan seperti XSS (Cross-Site Scripting). Selalu bersihkan dan validasi data yang Anda terima.

Fungsi htmlspecialchars() yang digunakan di contoh sebelumnya adalah cara sederhana untuk mengonversi karakter khusus HTML menjadi entitas HTML, mencegahnya dieksekusi sebagai kode HTML. Ini adalah langkah pencegahan dasar yang wajib dilakukan.

 

5. Menggabungkan Form dan Proses dalam Satu File

 

Terkadang, lebih praktis untuk membuat form dan prosesnya dalam satu file PHP. Ini dapat dilakukan dengan mengecek apakah form sudah disubmit.

File: form_terpadu.php

PHP

<!DOCTYPE html>
<html lang="id">
<head>
    <title>Formulir Terpadu</title>
</head>
<body>

<?php
$nama = $email = "";

// Cek apakah form sudah disubmit
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $nama = htmlspecialchars($_POST['nama']);
    $email = htmlspecialchars($_POST['email']);

    echo "<h3>Data Diterima:</h3>";
    echo "Nama: " . $nama . "<br>";
    echo "Email: " . $email;
}
?>

    <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
        <label for="nama">Nama:</label><br>
        <input type="text" id="nama" name="nama"><br><br>
        
        <label for="email">Email:</label><br>
        <input type="email" id="email" name="email"><br><br>
        
        <input type="submit" value="Kirim Data">
    </form>

</body>
</html>

Dalam contoh di atas, htmlspecialchars($_SERVER["PHP_SELF"]) adalah teknik untuk mengirimkan data form kembali ke halaman yang sama dengan aman.


Kesimpulan

Mengelola form adalah keterampilan dasar yang harus dikuasai setiap pengembang web. Dengan memahami metode GET dan POST, serta cara PHP memproses superglobal array $_GET dan $_POST, Anda dapat mulai membuat aplikasi interaktif yang memungkinkan pengguna untuk berinteraksi dengan situs web Anda. Selalu ingat untuk memvalidasi dan membersihkan semua input dari pengguna demi keamanan.

Wawasan Terbaru

Gemini_Generated_Image_wfw5uwwfw5uwwfw5
Mengenal Dunia Grafis: Dari Piksel Hingga Vektor, Kekuatan Visual di Era Digital
Gemini_Generated_Image_b6dimfb6dimfb6di
Mengenal Foundation: Kerangka Kerja Front-End Profesional untuk Web Responsif
Gemini_Generated_Image_sx3ztpsx3ztpsx3z
CSS
Mempercantik Website dengan CSS: Seniman di Balik Tampilan Web 🎨
Gemini_Generated_Image_e013qke013qke013
Mengenal HTML: Fondasi dari Setiap Halaman Website 🌐
Gemini_Generated_Image_ldki4nldki4nldki
Menyelami Dunia Coding: Seni Berbicara dengan Komputer
Gemini_Generated_Image_dpvliydpvliydpvl
Menguasai GIT: Fondasi Penting dalam Dunia Pengembangan Perangkat Lunak
Gemini_Generated_Image_sqcib9sqcib9sqci
Tutorial Python #12: Mengenal Jenis-jenis Operator dalam Python
Gemini_Generated_Image_o1bw3do1bw3do1bw
Memahami Tipe Data Dictionary dalam Python
Gemini_Generated_Image_ko4ixfko4ixfko4i
Mengenal Tipe Data Set dalam Python
Gemini_Generated_Image_1xop7m1xop7m1xop
Tuple dalam Python: Pengenalan dan Tutorial

Wawasan Serupa

Gemini_Generated_Image_xodt9ixodt9ixodt
Gemini_Generated_Image_kz6pfukz6pfukz6p
Gemini_Generated_Image_bs5nvtbs5nvtbs5n
Gemini_Generated_Image_lltz2glltz2glltz

Ceritakan Detail Proyekmu

Mulai dari 30K aja, solusi IT kamu langsung jalan tanpa drama.

Kata Mereka Tentang Solusi Coding

Dipercaya oleh lebih dari 200++ client untuk menyelesaikan proyeknya dengan total 250++ proyek dari berbagai jenis proyek