Langsung ke konten utama

Validasi input di CRUD PHP & MySQL

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! 

jangan lupa follow Instagram dan github saya.

Komentar

Posting Komentar

Postingan populer dari blog ini

Menambahkan Notifikasi Dinamis dengan Toast dalam CRUD AJAX PHP & MySQL

Menambahkan Notifikasi Dinamis dengan Toast dalam CRUD AJAX PHP & MySQL halo semua, selamat datang kembali di Zhuzhu-sama blogger. Pada artikel sebelumnya, kita telah menggunakan Bootstrap Modal untuk fitur edit data. Sekarang, kita akan menambahkan notifikasi dinamis menggunakan Bootstrap Toast agar pengguna mendapatkan umpan balik saat melakukan aksi CRUD. 1. Menambahkan Bootstrap Toast ke Proyek Kita akan menambahkan komponen Bootstrap Toast ke dalam halaman. Kode Toast: <div class="toast-container position-fixed top-0 end-0 p-3"> <div id="liveToast" class="toast align-items-center text-white bg-success border-0" role="alert" aria-live="assertive" aria-atomic="true"> <div class="d-flex"> <div class="toast-body"> Aksi berhasil! </div> <button type="button" class="btn-close b...

Tutorial CRUD PHP & MySQL

Tutorial CRUD (Create, Read, Update, Delete) PHP & MySQL Halo semua. selamat datang kembali di Zhuzhu-sama blogger. Pada artikel sebelumnya kita sudah mempelajari dasar-dasar dari pemrograman PHP, sekarang kita akan melanjutkan ketahap selanjutnya yaitu belajar CRUD PHP dan mysql. selamat membaca. CRUD adalah operasi dasar dalam pengolahan data di database. Dalam tutorial ini, kita akan membuat sistem CRUD sederhana dengan PHP dan MySQL. 1. Membuat Database dan Tabel Buka phpMyAdmin dan jalankan SQL berikut: CREATE DATABASE crud_php; USE crud_php; CREATE TABLE mahasiswa ( id INT AUTO_INCREMENT PRIMARY KEY, nama VARCHAR(100), email VARCHAR(100), jurusan VARCHAR(50) ); 2. Membuat File Koneksi Database (config.php) File ini berfungsi untuk menghubungkan PHP dengan MySQL. <?php $host = "localhost"; $user = "root"; $pass = ""; $db = "crud_php"; $koneksi = new mysqli($host, $user, $pass, $db); if ($kon...

CRUD PHP & MySQL dengan AJAX

CRUD PHP & MySQL dengan AJAX (Tanpa Reload Halaman) Halo semua, kembali lagi di Zhuzhu-sama blogger. pada artikel sebelumnya kita sudah mempelajari cara validasi dengan javascript di CRUD PHP, sekarang kita lanjut mempelajari CRUD PHP dengan menggunakan AJAX. selamat membaca kawan :) AJAX memungkinkan kita melakukan operasi CRUD (Create, Read, Update, Delete) tanpa harus me-reload halaman. Ini membuat pengalaman pengguna lebih cepat dan responsif. 1. Menyiapkan Database Buat database dan tabel berikut di MySQL: CREATE DATABASE db_mahasiswa; USE db_mahasiswa; CREATE TABLE mahasiswa ( id INT AUTO_INCREMENT PRIMARY KEY, nama VARCHAR(100), email VARCHAR(100), jurusan VARCHAR(50) ); 2. Menampilkan Data dengan AJAX Kita akan menggunakan JavaScript untuk mengambil data dari database dan menampilkannya tanpa reload. Kode index.php: <!DOCTYPE html> <html lang="id"> <head> <meta charset="UTF-8"> ...