Validasi E-mail dan URL pada PHP Forms

Validasi E-mail dan URL pada PHP Forms

Pada pengembangan aplikasi web, validasi input seperti e-mail dan URL sangat penting untuk memastikan data yang dimasukkan oleh pengguna valid dan sesuai format. PHP menyediakan fungsi bawaan untuk mempermudah validasi ini.

1. Validasi E-mail dengan PHP

PHP menyediakan fungsi filter_var() untuk memvalidasi format e-mail. Berikut adalah contoh penggunaannya:

<?php
$email = "example@domain.com";

if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo "Email valid: $email";
} else {
    echo "Format email tidak valid.";
}
?>

Penjelasan: Fungsi filter_var() dengan parameter FILTER_VALIDATE_EMAIL memastikan bahwa input sesuai dengan format e-mail yang benar.

Formulir Validasi E-mail

Berikut adalah contoh formulir HTML yang mengumpulkan data e-mail dan memvalidasinya menggunakan PHP:

<!DOCTYPE html>
<html>
<head>
    <title>Validasi E-mail</title>
</head>
<body>
    <form method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>">
        Masukkan Email: <input type="text" name="email" required>
        <button type="submit">Kirim</button>
    </form>

    <?php
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        $email = $_POST["email"];
        if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
            echo "Email valid: " . htmlspecialchars($email);
        } else {
            echo "Format email tidak valid.";
        }
    }
    ?>
</body>
</html>

2. Validasi URL dengan PHP

Validasi URL memastikan bahwa input pengguna adalah alamat web yang valid. Gunakan filter_var() dengan FILTER_VALIDATE_URL untuk memvalidasi URL.

<?php
$url = "https://www.example.com";

if (filter_var($url, FILTER_VALIDATE_URL)) {
    echo "URL valid: $url";
} else {
    echo "URL tidak valid.";
}
?>

Formulir Validasi URL

Berikut adalah contoh formulir HTML untuk validasi URL:

<!DOCTYPE html>
<html>
<head>
    <title>Validasi URL</title>
</head>
<body>
    <form method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>">
        Masukkan URL: <input type="text" name="url" required>
        <button type="submit">Kirim</button>
    </form>

    <?php
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        $url = $_POST["url"];
        if (filter_var($url, FILTER_VALIDATE_URL)) {
            echo "URL valid: " . htmlspecialchars($url);
        } else {
            echo "URL tidak valid.";
        }
    }
    ?>
</body>
</html>

3. Contoh Form Lengkap dengan PHP

Berikut adalah contoh lengkap formulir PHP yang memvalidasi nama, e-mail, dan URL:

<!DOCTYPE html>
<html>
<head>
    <title>Form Lengkap dengan Validasi</title>
</head>
<body>
    <form method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>">
        Nama: <input type="text" name="name" required><br><br>
        E-mail: <input type="text" name="email" required><br><br>
        URL: <input type="text" name="url" required><br><br>
        <button type="submit">Kirim</button>
    </form>

    <?php
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        $name = htmlspecialchars($_POST["name"]);
        $email = $_POST["email"];
        $url = $_POST["url"];
        
        if (!empty($name) && filter_var($email, FILTER_VALIDATE_EMAIL) && filter_var($url, FILTER_VALIDATE_URL)) {
            echo "Nama: $name<br>";
            echo "Email valid: $email<br>";
            echo "URL valid: $url<br>";
        } else {
            echo "Data yang dimasukkan tidak valid. Pastikan semua kolom diisi dengan format yang benar.";
        }
    }
    ?>
</body>
</html>

4. Keamanan dalam Validasi Form

Selalu validasi input di sisi server meskipun Anda telah menambahkan validasi sisi klien. Berikut beberapa tips:

  • Gunakan htmlspecialchars() untuk mencegah XSS.
  • Validasi format data dengan filter_var().
  • Batasi panjang input untuk mencegah eksploitasi.

Kesimpulan

Dengan memahami cara memvalidasi e-mail dan URL, Anda dapat meningkatkan keamanan dan integritas data dalam aplikasi web Anda. Formulir PHP lengkap yang memvalidasi semua input adalah fondasi penting untuk pengembangan web yang andal dan aman.

Check Also

Migrasi Database dengan CodeIgniter 4

Migrasi Database dengan CodeIgniter 4 CodeIgniter 4 menyediakan fitur migrasi database untuk mengelola perubahan skema …

Verified by MonsterInsights