Studi Kasus Pendaftaran Siswa Baru
4. Create - tambah
Cara Menambahkan Data ke Tabel MySQL
Ada dua file yang kita butuhkan untuk menambahkan data ke MySQL.
form-daftar.php
halaman untuk form input;proses-pendaftaran.php
skrip untuk memproses data yang diinputkan.
Sebenarnya bisa saja dibuat dalam satu file, tapi biar lebih mudah dipahami…kita buat terpisah saja.
Silahkan buka file form-daftar.php
dan isi dengan kode berikut:
<!DOCTYPE html>
<html>
<head>
<title>Formulir Pendaftaran Siswa Baru | SMK Coding</title>
</head>
<body>
<header>
<h3>Formulir Pendaftaran Siswa Baru</h3>
</header>
<form action="proses-pendaftaran.php" method="POST">
<fieldset>
<p>
<label for="nama">Nama: </label>
<input type="text" name="nama" placeholder="nama lengkap" />
</p>
<p>
<label for="alamat">Alamat: </label>
<textarea name="alamat"></textarea>
</p>
<p>
<label for="jenis_kelamin">Jenis Kelamin: </label>
<label><input type="radio" name="jenis_kelamin" value="laki-laki"> Laki-laki</label>
<label><input type="radio" name="jenis_kelamin" value="perempuan"> Perempuan</label>
</p>
<p>
<label for="agama">Agama: </label>
<select name="agama">
<option>Islam</option>
<option>Kristen</option>
<option>Hindu</option>
<option>Budha</option>
<option>Atheis</option>
</select>
</p>
<p>
<label for="sekolah_asal">Sekolah Asal: </label>
<input type="text" name="sekolah_asal" placeholder="nama sekolah" />
</p>
<p>
<input type="submit" value="Daftar" name="daftar" />
</p>
</fieldset>
</form>
</body>
</html>
Perhatikan pada tag pembuka <form>
, di sana kita menggunakan atribut action
dan method
.
<form action="proses-pendaftaran.php" method="POST">
...
Atribut action
digunakan untuk menentukan skrip mana yang akan memproses data inputan. Sedangkan atribut method
untuk menentukan metode pengiriman datanya.
Perhatikan juga pada input-nya, disana ada atribut name
. Atribut ini untuk menentukan kunci indeks dari array $_POST
dan $_GET
.
Selanjutnya silPriscilia Priscilia YulianiPriscilia Yuliani isi file proses-pendaftaran.php
dengan kode berikut:
<?php
include("config.php");
// cek apakah tombol daftar sudah diklik atau blum?
if(isset($_POST['daftar'])){
// ambil data dari formulir
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
$jk = $_POST['jenis_kelamin'];
$agama = $_POST['agama'];
$sekolah = $_POST['sekolah_asal'];
// buat query
$sql = "INSERT INTO calon_siswa (nama, alamat, jenis_kelamin, agama, sekolah_asal) VALUE ('$nama', '$alamat', '$jk', '$agama', '$sekolah')";
$query = mysqli_query($db, $sql);
// apakah query simpan berhasil?
if( $query ) {
// kalau berhasil alihkan ke halaman index.php dengan status=sukses
header('Location: index.php?status=sukses');
} else {
// kalau gagal alihkan ke halaman indek.php dengan status=gagal
header('Location: index.php?status=gagal');
}
} else {
die("Akses dilarang...");
}
?>
Pertama kita ambil data yang dikirim dari formulir, semuanya tersimpan pada variabel $_POST
. Karena tadi kita menggunakan method POST
pada form.
Setelah itu, kita buat query penyimpanan.
Lalu melakukan pengecekan, apakah query-nya berhasil atau gagal.
Untuk menampilkan pesan berhasil dan gagal pada halaman index.php
, silahkan tambahkan kode berikut di bawah tag <nav>
pada file index.php
:
<?php if(isset($_GET['status'])): ?>
<p>
<?php
if($_GET['status'] == 'sukses'){
echo "Pendaftaran siswa baru berhasil!";
} else {
echo "Pendaftaran gagal!";
}
?>
</p>
<?php endif; ?>
Hasilnya:
Sekarang kita sudah punya dua data.