PHP: Form Validation

Assalamu'alaikum warahmatullahi wabarakatuh.

Halo teman-teman semuanya! Bagaimana kabarnya? 

Semoga dalam kondisi dan keadaan yang prima dan baik-baik saja ya! 

Perkenalkan kembali lagi bersama saya Ilham, saya dari kelas XI RPL 2 yang sekarang dalam artikel kali ini, kita akan membahas mengenai Form Validation PHP Native,   tanpa berlama-lama lagi mari langsung saja kita ke inti bahasan materinya!


Form Validation 

Form validation itu merupakan validasi terhadap data yang diinputkan user jadi apabila data yang diinputkan itu tidak memenuhi kriteria system maka akan muncul peringatan.

Contohnya: form NIS itu harus berisi 10 karakter, maka apabila user mengisi form NIS hanya dengan 9 karakter data yang user kirimkan tidak sah dan akan muncul sebuah peringatan.

File views/insert.php

<?php if (!empty($errors)) : ?>
    <div class="alert alert-danger" role="alert">
        <ul class="m-0">
            <?php foreach ($errors as $error) : ?>
                <li><?= $error ?></li>
            <?php endforeach; ?>
        </ul>
    </div>
<?php endif; ?>
mengecek apabila terdapat pesan error, maka pesan akan ditampilkan melalui looping.

File insert.php

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $nis = @$_POST["nis"];
    $name = @$_POST["name"];
    $gender = @$_POST["gender"];
    $address = @$_POST["address"];
    $phone_number = @$_POST["phone_number"];
    $class_id = @$_POST["class_id"];
    $avatar = @$_FILES["avatar"];

    empty($nis) ? flash("error", "Mohon masukkan NIS") : null;
    empty($name) ? flash("error", "Mohon masukkan Nama Lengkap") : null;
    empty($gender) ? flash("error", "Mohon masukkan Jenis Kelamin") : null;
    empty($address) ? flash("error", "Mohon masukkan Alamat") : null;
    empty($phone_number) ? flash("error", "Mohon masukkan Nomor Telepon") : null;
    empty($class_id) ? flash("error", "Mohon masukkan Kelas") : null;

    if (!empty($nis) && !empty($name) && !empty($gender) && !empty($address) && !empty($address) && !empty($phone_number) && !empty($class_id)) {
        // Insert Data
    }

    if (!empty($nis) && !empty($name) && !empty($gender) && !empty($address) && !empty($address) && !empty($phone_number) && !empty($class_id)) {
        if (!empty($avatar) and $avatar["error"] == 0) {
            $path = "./assets/img/students/";
            $upload = move_uploaded_file($avatar["tmp_name"], $path . $avatar["name"]);

            if (!$upload) {
                flash("error", "Upload file gagal!");
                header("Location: index.php");
            }

            $avatar = $avatar["name"];
        } else {
            $avatar = "default.jpg";
        }

        $query = "INSERT INTO students (nis, name, gender, address, phone_number, class_id, avatar) 
        VALUES ('$nis', '$name', '$gender', '$address', '$phone_number', '$class_id', '$avatar')";

        $mysqli->query($query) or die($mysqli->error);

        flash("success", "Siswa berhasil dibuat!");
        header("Location: index.php");
    }
}

// Ambil pesan-pesan error
$errors = flash("error");

// Ambil Data Kelas
$query = "SELECT * FROM classes";
$result = $mysqli->query($query);

include "views/insert.php";
$nis = @$_POST["nis"];
$name = @$_POST["name"];
$gender = @$_POST["gender"];
$address = @$_POST["address"];
$phone_number = @$_POST["phone_number"];
$class_id = @$_POST["class_id"];
$avatar = @$_FILES["avatar"];
Penjelasan: penambahan karakter at (@) pada variabel $_POST bertujuan agar tidak terjadi error.

empty($nis) ? flash("error", "Mohon masukkan NIS") : null;
empty($name) ? flash("error", "Mohon masukkan Nama Lengkap") : null;
empty($gender) ? flash("error", "Mohon masukkan Jenis Kelamin") : null;
empty($address) ? flash("error", "Mohon masukkan Alamat") : null;
empty($phone_number) ? flash("error", "Mohon masukkan Nomor Telepon") : null;
empty($class_id) ? flash("error", "Mohon masukkan Kelas") : null;
Penjelasan: mengecek apakah field input sudah diisi apabila belum maka pesan error akan disimpan di $_SESSION.

if (!empty($nis) && !empty($name) && !empty($gender) && !empty($address) && !empty($address) && !empty($phone_number) && !empty($class_id)) {
    // Insert Data
}
Penjelasan: mengecek apakah field input sudah diisim jika sudah maka jalankan code untuk menginsertkan data.
flash("success", "Siswa berhasil dibuat!");
Penjelasan: Setelah insert data dilakukan, simpan pesan success ke $_SESSION.

File edit.php

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $nis = @$_POST["nis"];
    $name = @$_POST["name"];
    $gender = @$_POST["gender"];
    $address = @$_POST["address"];
    $phone_number = @$_POST["phone_number"];
    $class_id = @$_POST["class_id"];
    $avatar = @$_POST["avatar"];
    $avatarUpload = @$_FILES["avatar"];

    empty($nis) ? flash("error", "Mohon masukkan NIS") : null;
    empty($name) ? flash("error", "Mohon masukkan Nama Lengkap") : null;
    empty($gender) ? flash("error", "Mohon masukkan Jenis Kelamin") : null;
    empty($address) ? flash("error", "Mohon masukkan Alamat") : null;
    empty($phone_number) ? flash("error", "Mohon masukkan Nomor Telepon") : null;
    empty($class_id) ? flash("error", "Mohon masukkan Kelas") : null;

    if (!empty($nis) && !empty($name) && !empty($gender) && !empty($address) && !empty($address) && !empty($phone_number) && !empty($class_id)) {
        if (!empty($avatarUpload) and $avatarUpload["error"] == 0) {
            $path = "./assets/img/students/";
            $upload = move_uploaded_file($avatarUpload["tmp_name"], $path . $avatarUpload["name"]);

            if (!$upload) {
                flash("error", "Upload file gagal!");
                header("Location: index.php");
            }

            $avatar = $avatarUpload["name"];
        }

        $query = "UPDATE students SET
        nis = '$nis',
        name = '$name',
        gender = '$gender',
        address = '$address',
        phone_number = '$phone_number',
        class_id = '$class_id',
        avatar = '$avatar'
        WHERE nis = '$nis'
    ";

        $mysqli->query($query) or die($mysqli->error);

        flash("success", "Siswa berhasil diupdate!");

        header("Location: index.php");
    }
}

$nis = $_GET["nis"];

if (empty($nis)) header("Location: index.php");

// Ambil pesan-pesan error
$errors = flash("error");

// Ambil Data Siswa
$query = "SELECT * FROM students WHERE nis = '$nis'";
$result = $mysqli->query($query);
$student = $result->fetch_assoc();

// Ambil Data Kelas
$query = "SELECT * FROM classes";
$result = $mysqli->query($query);

if (empty($student)) header("Location: index.php");

include "views/insert.php";
File views/index.php

Tambahkan code dibawah diatas tabel siswa.
<?php if (!empty($success)) : ?>
    <div class="alert alert-success" role="alert">
        <?= $success[0] ?>
    </div>
<?php endif; ?>
Mengecek apakah ada pesan success? kalo ada ditampilkan.

Ketika dibuka:



Mungkin cukup sekian materi Form Validationnya
Semoga sobat-sobat codingers paham, mengerti dan menguasainya. 
Dan mohon maaf atas semua kesalahan yang telah saya perbuat, tolong berikan koreksi mengenai bagian mana yang salah/kurang pas dalam postingan ini, untuk pengembangan lebih baik kedepannya.

Sekian, saya ucapkan terimakasih banyak atas waktu yang telah diluangkan, saya ucapkan kembali mohon maaf atas segalanya kesalahan. 

Wabilahiltaufik walhidayah, Wassalamu'alaikum warahmatullahi wabarakatuh.
Keep Coding Stay Awesome

0 Response to "PHP: Form Validation"

Post a Comment

Postingan Terbaru

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel