Validasi Input di CRUD PHP & MySQL
halo selamat datang kembali di Zhuzhu-sama blogger.
Pada artikel sebelumnya kita sudah mempelajari tutorial crud php mysql. sekarang kita akan melanjutkan belajar validasi input CRUD PHP mysql. selamat membaca:).
Validasi input sangat penting untuk memastikan data yang dimasukkan oleh pengguna tidak kosong, sesuai format yang diinginkan, dan aman dari serangan seperti SQL Injection atau XSS.
1. Menambahkan Validasi di tambah.php
Pada form tambah data, kita akan melakukan validasi:
- Pastikan semua input tidak kosong
- Validasi format email
- Menggunakan
htmlspecialchars()
untuk menghindari karakter berbahaya
Kode tambah.php setelah ditambahkan validasi:
<?php include 'config.php'; ?>
<h2>Tambah Data Mahasiswa</h2>
<form method="POST">
Nama: <input type="text" name="nama" required><br>
Email: <input type="email" name="email" required><br>
Jurusan: <input type="text" name="jurusan" required><br>
<input type="submit" name="submit" value="Simpan">
</form>
<?php
if (isset($_POST['submit'])) {
$nama = htmlspecialchars(trim($_POST['nama']));
$email = htmlspecialchars(trim($_POST['email']));
$jurusan = htmlspecialchars(trim($_POST['jurusan']));
if (empty($nama) || empty($email) || empty($jurusan)) {
echo "Semua field harus diisi!";
} elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo "Format email tidak valid!";
} else {
$sql = "INSERT INTO mahasiswa (nama, email, jurusan) VALUES ('$nama', '$email', '$jurusan')";
if ($koneksi->query($sql)) {
echo "Data berhasil ditambahkan!";
header("Location: index.php");
} else {
echo "Gagal menambahkan data!";
}
}
}
?>
2. Menambahkan Validasi di edit.php
Saat melakukan edit data, kita juga perlu memastikan input tidak kosong dan email valid.
Kode edit.php setelah ditambahkan validasi:
<?php
include 'config.php';
$id = $_GET['id'];
$data = $koneksi->query("SELECT * FROM mahasiswa WHERE id=$id")->fetch_assoc();
?>
<h2>Edit Data Mahasiswa</h2>
<form method="POST">
Nama: <input type="text" name="nama" value="<?= $data['nama']; ?>" required><br>
Email: <input type="email" name="email" value="<?= $data['email']; ?>" required><br>
Jurusan: <input type="text" name="jurusan" value="<?= $data['jurusan']; ?>" required><br>
<input type="submit" name="submit" value="Update">
</form>
<?php
if (isset($_POST['submit'])) {
$nama = htmlspecialchars(trim($_POST['nama']));
$email = htmlspecialchars(trim($_POST['email']));
$jurusan = htmlspecialchars(trim($_POST['jurusan']));
if (empty($nama) || empty($email) || empty($jurusan)) {
echo "Semua field harus diisi!";
} elseif (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo "Format email tidak valid!";
} else {
$sql = "UPDATE mahasiswa SET nama='$nama', email='$email', jurusan='$jurusan' WHERE id=$id";
if ($koneksi->query($sql)) {
echo "Data berhasil diperbarui!";
header("Location: index.php");
} else {
echo "Gagal memperbarui data!";
}
}
}
?>
Kesimpulan
Dengan validasi input ini, kita dapat memastikan bahwa data yang dimasukkan lebih aman dan sesuai format yang diinginkan. Selanjutnya, kita bisa menerapkan:
- Validasi menggunakan JavaScript sebelum mengirimkan form
- Menampilkan pesan error lebih rapi dengan Bootstrap atau alert
- Mencegah SQL Injection dengan menggunakan
prepared statements
Semoga artikel ini bermanfaat!
keren sangat memuaskan
BalasHapus