Tutorial PHP Dasar #9: Validasi Form di PHP

Author Erick Irwansyah
25 Dec 2024
Tutorial PHP Dasar #9: Validasi Form di PHP

Halo lagi! Udah bisa bikin form dan proses datanya? Bagus! Tapi tunggu dulu, gimana kalau ada pengguna yang isi data asal-asalan? Atau bahkan mencoba mengirim data berbahaya? Nah, di sinilah validasi form jadi penting. Kali ini, kita bakal belajar cara memvalidasi data dari form di PHP. Yuk, kita mulai!


Apa Itu Validasi Form?

Validasi form adalah proses memeriksa data yang dikirimkan pengguna untuk memastikan data tersebut sesuai dengan aturan yang kita tentukan. Ada dua jenis validasi:

  1. Validasi di Sisi Klien: Dilakukan dengan JavaScript langsung di browser.
  2. Validasi di Sisi Server: Dilakukan dengan PHP di server, untuk keamanan tambahan.

Membuat Form dengan Validasi

Form HTML:

<form method="POST" action="validasi.php">
    <label for="nama">Nama:</label>
    <input type="text" id="nama" name="nama"><br><br>

    <label for="email">Email:</label>
    <input type="email" id="email" name="email"><br><br>

    <label for="umur">Umur:</label>
    <input type="number" id="umur" name="umur"><br><br>

    <button type="submit">Submit</button>
</form>

Validasi di PHP

Proses Validasi:

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $errors = [];

    // Validasi Nama
    if (empty($_POST["nama"])) {
        $errors[] = "Nama harus diisi.";
    } else {
        $nama = htmlspecialchars($_POST["nama"]);
        if (!preg_match("/^[a-zA-Z ]*$/", $nama)) {
            $errors[] = "Nama hanya boleh berisi huruf dan spasi.";
        }
    }

    // Validasi Email
    if (empty($_POST["email"])) {
        $errors[] = "Email harus diisi.";
    } else {
        $email = htmlspecialchars($_POST["email"]);
        if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
            $errors[] = "Format email tidak valid.";
        }
    }

    // Validasi Umur
    if (empty($_POST["umur"])) {
        $errors[] = "Umur harus diisi.";
    } else {
        $umur = (int)$_POST["umur"];
        if ($umur <= 0) {
            $errors[] = "Umur harus berupa angka positif.";
        }
    }

    // Menampilkan Hasil
    if (count($errors) > 0) {
        foreach ($errors as $error) {
            echo "<p style='color:red;'>$error</p>";
        }
    } else {
        echo "Data berhasil divalidasi!<br>";
        echo "Nama: $nama<br>";
        echo "Email: $email<br>";
        echo "Umur: $umur<br>";
    }
}
?>

Studi Kasus: Form Pendaftaran dengan Validasi

Buat form pendaftaran dengan validasi nama, email, dan password. Pastikan password minimal 6 karakter.

Form HTML:

<form method="POST" action="validasi_pendaftaran.php">
    <label for="nama">Nama:</label>
    <input type="text" id="nama" name="nama"><br><br>

    <label for="email">Email:</label>
    <input type="email" id="email" name="email"><br><br>

    <label for="password">Password:</label>
    <input type="password" id="password" name="password"><br><br>

    <button type="submit">Daftar</button>
</form>

Proses PHP:

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $errors = [];

    // Validasi Nama
    if (empty($_POST["nama"])) {
        $errors[] = "Nama harus diisi.";
    }

    // Validasi Email
    if (empty($_POST["email"])) {
        $errors[] = "Email harus diisi.";
    } elseif (!filter_var($_POST["email"], FILTER_VALIDATE_EMAIL)) {
        $errors[] = "Format email tidak valid.";
    }

    // Validasi Password
    if (empty($_POST["password"])) {
        $errors[] = "Password harus diisi.";
    } elseif (strlen($_POST["password"]) < 6) {
        $errors[] = "Password minimal 6 karakter.";
    }

    // Menampilkan Hasil
    if (count($errors) > 0) {
        foreach ($errors as $error) {
            echo "<p style='color:red;'>$error</p>";
        }
    } else {
        echo "Pendaftaran berhasil! Selamat datang, " . htmlspecialchars($_POST["nama"]) . ".";
    }
}
?>

Apa Selanjutnya?
Di tutorial berikutnya, kita akan membahas session dan cookie di PHP. Ini penting untuk membuat fitur login, menyimpan preferensi pengguna, atau melacak aktivitas mereka di website.


Sekianlah belajar PHP tentang validasi form. Dengan menguasai validasi, kamu bisa memastikan data yang masuk aman dan sesuai dengan kebutuhan. Artikel ini sangat berguna sebelum kamu melanjutkan ke tutorial PHP selanjutnya di www.code80vity.com. Sampai jumpa di pembahasan berikutnya, dan jangan lupa terus eksplorasi PHP!

Tutorial Terkait Lainnya

Comments

Please login to post a comment.
No comments yet. Be the first to comment!