Selesai membuat database dengan nama „akademik‟. Selanjutnya buat folder baru dengan
nama „akademik‟ dalam folder htdocs.
Setelah membuat folder dengan nama „akademik‟, buat file php baru dengan nama
koneksi.php.
// Check connection
if (mysqli_connect_errno()){
echo "Koneksi database gagal : " . mysqli_connect_error();
}
?>
Buat sebuah file php baru dengan nama index.php dalam folder akademik. Pada
index.php ini kita akan menampilkan data dari tabel mahasiswa.
<!DOCTYPE html>
<html>
<head>
<title>CRUD PHP dan MySQLi</title>
</head>
<body>
Data yang sebelumnya telah kita input di table mahasiswa pada PHPMyadmin berhasil
ditampilkan.
Penjelasan cara menampilkan data dari database dengan PHP dan MySQLi
Sebenarnya sama saja dengan mysql, hanya bedanya di sini kita menambahkan i pada setiap
fungsi mysql. Sehingga menjadi “mysqli” seperti yang dilihat pada syntax index.php yang telah
dibuat di atas.
variabel $koneksi berasal dari file koneksi.php yang telah kita buat.
Perhatikan pada file koneksi.php.
$koneksi = mysqli_connect("localhost","root","","akademik");
b. Input Data
Tahap pertama, silahkan perhatikan pada file index.php yang telah dibuat sebelumnya.
Pada file index.php, terdapat sebuah link “tambah mahasiswa”. yang mengarahkan ke
halaman tambah.php, jika diklik.
<a href="tambah.php">+ TAMBAH MAHASISWA</a>
Oleh sebab itu, kita harus membuat file tambah.php . Pada file tambah.php ini kita akan
membuat form penginputan data mahasiswa. Dimana pada saat tombol simpannya di klik,
data mahasiswa yang di input akan tersimpan ke database.
Buat file baru dengan nama tambah.php.
<!DOCTYPE html>
<html>
<head>
<title>CRUD PHP dan MySQLi</title>
</head>
<body>
Jalankan pada browser, dan klik pada “+ tambah mahasiswa”. Maka halaman akan di
alihkan ke form tambah mahasiswa yang telah dibuat pada file tambah.php.
Sampai di sini, baru selesai membuat form penginputan data mahasiswa nya saja. api
belum membuat aksi pada saat tombol “simpan” di klik. Perhatikan lagi pada action form
telah dibuat pada file tambah.php di atas.
<form method="post" action="tambah_aksi.php">
Action untuk form ditetapkan pada file tambah_aksi.php dengan method pengiriman data
menggunakan POST.
?>
Perhatikan file tambah_aksi.php di atas. Pertama, kita menyimpan sementara data yang
dikirim dari form ke variabel. Kemudian kita input datanya ke database dengan fungsi
mysqli_query():
mysqli_query($koneksi,"insert into mahasiswa
values('','$nama','$nim','$alamat')");
Setelah data di input ke database, selanjutnya kita dialihkan kembali halamannya ke file
index.php.
// mengalihkan halaman kembali ke index.php
header("location:index.php");
Jangan lupa, karena pada aksi ini kita akan berhubungan dengan database. Maka pada awal
baris nya jangan lupa di include file koneksi.php.
Isi data pada form tambah.php seperti contoh dibawah ini:
Data yang diinput pun telah berhasil di simpan ke database dan tampil secara otomatis.
c. Update Data
Seperti yang bisa dilihat pada file index.php yang menampilkan data mahasiswa, pada
masing-masing row kita telah membuat link edit dan link hapus (data dikirimkan menggunakan
method GET).
Perhatikan pada link edit yang telah dibuat pada file index.php
<a href="edit.php?id=<?php echo $d['id']; ?>">EDIT</a>
Link ini akan mengarah ke file edit.php saat di klik. sambil mengirimkan data id.
<?php
include 'koneksi.php';
$id = $_GET['id'];
$data = mysqli_query($koneksi,"select * from mahasiswa where id='$id'");
while($d = mysqli_fetch_array($data)){
?>
<form method="post" action="update.php">
<table>
<tr>
<td>Nama</td>
<td>
<input type="hidden" name="id" value="<?php echo $d['id']; ?>">
<input type="text" name="nama" value="<?php echo $d['nama']; ?>">
</td>
</tr>
<tr>
<td>NIM</td>
<td><input type="number" name="nim" value="<?php echo $d['nim']; ?>"></td>
</tr>
<tr>
<td>Alamat</td>
<td><input type="text" name="alamat" value="<?php echo $d['alamat']; ?>"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="SIMPAN"></td>
</tr>
</table>
</form>
<?php
}
?>
</body>
</html>
Pada file edit.php ini, variabel id yang di kirim melalui method (GET). Kemudian data
mahasiswa diambil dari id yang dikirim tersebut untuk diedit.
pada form edit ini dibuat syntax untuk menyembunyikan data id.
<input type="hidden" name="id" value="<?php echo $d['id']; ?>">
Syntax ini berguna untuk menyimpan data id mahasiswa yang sedang di edit. Sehingga
pada saat data ini di update, data mahasiswa yang di update adalah data mahasiswa yang
memiliki id tersebut.
Jalankan pada browser dan klik edit.
Contoh di sini mencoba untuk mengedit data mahasiswa yang bernama junaidi. Saat di klik
edit, maka hasilnya akan seperti ini:
?>
Setelah data berhasil di update. Halaman akan di alihkan kembali ke file index.php.
header("location:index.php");
Setelah itu klik tombol simpan. Data akan diuptade pada database dan terlihat dari
tampilan index.php
Pada saat tombol atau link hapus tersebut di klik, maka halaman akan di alihkan ke file
hapus.php, sambil mengirim data id menggunakan GET
Buat file baru dengan nama hapus.php.
<?php
// koneksi database
include 'koneksi.php';
?>
Hapus data dari database dengan query berikut ini berdasarkan id:
mysqli_query($koneksi,"delete from mahasiswa where id='$id'");
Selanjutnya isikan data admin dengan mengklik insert pada tabel admin di phpMyadmin.
Perhatikan, di sini kita aktifkan dulu session php. karena session digunakan sebagai penanda
status pengguna yang akan login.
Aktifkan session php dengan syntax berikut:
session_start();
Jangan lupa untuk menghubungkannya dengan file koneksi database yang sudah dibuat.
include 'koneksi.php';
Kemudian seleksi data admin yang memiliki username dan password yang sesuai dengan yang di
input pada form login.
$data = mysqli_query($koneksi,"select * from admin where username='$username' and
password='$password'");
Jika data username dan password admin di temukan di tabel „admin‟, maka nilai dari variabel
$cek adalah jumlah dari record yang di temukan. berarti variabel $cek bernilai1. Jika username
dan password yang di input sesuai dengan yang ada di database. Maka fungsi mysqli_num_rows()
untuk menghitung jumlah record hasil dari query yang ada dalam parameter ($data).
Selanjutnya cek dengan if else jika variabel $cek lebih besar dari nol (berarti username dan
password yang di input sesuai), maka buat session username dan session status seperti pada
syntax berikut. kemudian kita alihkan ke file index.php.
Jika tidak maka dialihkan ke halaman login (login.php) sambil mengirimkan data pesan
(?pesan=gagal).
if($cek > 0){
$_SESSION['username'] = $username;
$_SESSION['status'] = "login";
header("location:index.php");
}else{
header("location:login.php?pesan=gagal");
}
Oleh karena itu file login.php (halaman login) dibuat pengecekan seperti berikut (perhatikan
pada file login.php)
<?php
if(isset($_GET['pesan'])){
if($_GET['pesan'] == "gagal"){
echo "Login gagal! username dan password salah!";
}else if($_GET['pesan'] == "logout"){
echo "Anda telah berhasil logout";
}else if($_GET['pesan'] == "belum_login"){
echo "Anda harus login untuk mengakses halaman admin";
}
}
?>
Ini untuk memeriksa pesan yang di kirim. Karena jika username dan password tidak di temukan,
maka akan dikirimkan pesan “gagal”. Pada pengecekan notifikasi akan menampilkan pesan
notifikasi “Login gagal! username dan password salah!”, jika username dan password gagal.
Notifikasi selamat datang juga ditampilkan untuk username yang sedang login dengan cara
langsung menampilkan session username yang berhasil login.
Contoh: Jika yang login adalah pengguna dengan username “admin” maka yang tampil di sini
adalah “selamat datang, admin”.
- Tampilan halaman login (login.php) yang telah diisi username = “admin” dan password =
“admin123”.
File logout berguna untuk menghapus semua session yang telah di buat saat login. dan
mengalihkan halaman kembali ke halaman login sambil mengirim pesan „logout‟.