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.