Membuat Login DenganPHP dan MySQLi
• Selamat datang di Materi Membuat Login Dengan PHP dan MySQLi. Pada
Materi pemrograman PHP kali ini, kita akan membuat login dengan
menggunakan PHP dan MySQLi.
• Sebelumnya kita telah membahas tentang cara membuat login
dengan menggunakan PHP Tanpa menggunakan database. maka kali ini kita
akan membahas tentang Materi cara membuat login dengan PHP dan
MySQLi. agar Materi menjadi lebih lengkap dan memudahkan Kita dalam
mempelajari pemrograman web.
• Jika teman-teman sudah pernah membaca Materi sebelumnya tentang cara
membuat login tanpa menggunakan database, pasti teman-teman tidak akan
kesulitan lagi untuk mengikuti Materi membuat login dengan PHP dan
MySQLi ini. karena intinya sama saja, yang berbeda hanya penggunaan
database dan tidak.
3.
Persiapan
• 1 .Untuk memulai Materi dan project membuat login dengan PHP dan MySQLi seperti di
contoh ini, silahkan buat sebuah folder baru dengan nama login pada direktori localhost
teman-teman.
• 2 . Buat sebuah database baru dengan nama akademik. kemudian buat sebuah tabel baru
dengan nama admin dalam database akademik. isi dari tabel admin yaitu id, username dan
password. dimana id bertipe int, pilih primary dan centang auto_increment nya. username
dan password sama-sama bertipe varchar dengan nilai 225.
5.
• selanjutnya isikandata admin. untuk data contoh saja. untuk contoh
akun admin yang akan login. isikan username nya ‘admin’, dan
password nya ‘admin123’.
7.
• Dengan beginipersiapan pembuatan database dan tabel telah selesai
8.
Membuat Koneksi Database
•Sudah sering disinggung, jika kita ingin bermain-main dengan
database, kita wajib untuk membuat koneksi database dulu.
tujuannya agar Project PHP yang kita buat bisa terhubung dengan
database.
• Untuk cara membuat koneksi database dengan PHP. Berikut untuk
adalah materi cara membuat koneksi database dengan php dan
mysqli.
9.
Membuat Koneksi DatabaseDengan PHP dan
MySQLi
• Membuat Koneksi Database Dengan PHP dan MySQLi – Selamat
datang kembali di Materi pemrograman web terlengkap dan terbaik di
indonesia. yaitu di LKP Inti Computer Pare. Untuk menghubungkan
php dengan database menggunakan MySQLi. Kali ini kita akan
menggunakan MySQLi. di Materi ini juga akan di bahas tentang
kenapa menggunakan MySQLi? dan apa itu MySQLi.
• Yuk kita bahas Materi membuat koneksi database menggunakan PHP
dan MySQLi berikut.
10.
Membuat Koneksi DatabaseDengan PHP dan
MySQLi
• Menghubungkan PHP dan database adalah suatu keharusan yang
dasar dalam pemrograman web. karena dengan menghubungkan PHP
dan database, kita bisa mengakses database untuk berinteraksi lebih
lanjut. contohnya seperti menginput data ke database, menampilkan
data dari database, mengedit data dari database, menghapus data
dari database. serta interaksi data ke database lainnya yang akan kita
lakukan.
• INGAT! di sini kita akan menggunakan MySQLi, bukan MySQL.
11.
Kenapa Menggunakan MySQLi?
• Sebelum membahas cara membuat koneksi database dengan MySQLi,
ada baiknya saya jelaskan dulu kenapa kita menggunakan MySQLi,
dan apa pengertian MySQLi?
• MySQLi adalah sebuah fungsi baru dari MySQL. MySQLi di informasikan
lebih aman digunakan. dan lebih cepat dari pada MySQL. MySQLi di
ciptakan untuk di jalankan pada versi PHP 5 ke atas (PHP 7). karena lebih
stabil. jadi mulai sekarang kita sudah boleh berhenti menggunakan
mysql untuk pemprosesan database. dan beralih menggunakan MySQLi.
• jadi intinya di PHP 5 ke atas sudah tidak lagi menggunakan mysql, tapi
sudah menggunakan mysqli.
12.
Menghubungkan PHP dengandatabase menggunakan MySQLi
• yuk langsung saja kita mulai cara membuat koneksi database dengan PHP dan MySQLi. di
sini kita membutuhkan sebuah database baru untuk contoh. jadi di sini saya
menggunakan database databse dengan nama akademik yang telah kita buat sebelumya.
Tapi teman-teman bebas memberikan nama databasenya. tapi nanti di kondisikan saja.
• oke, selesai membuat database dengan. selanjutnya untuk contoh, buat folder baru
dengan nama ‘koneksi’ dalam folder htdocs.
• setelah membuat folder dengan nama koneksi, buat file php baru dengan
nama koneksi.php .
Penjelasan
• perhatikan padasyntax :
• Pada parameter pertama, kita mengetikkan nama host kita.
yaitu localhost. dan pada parameter kedua kita mengetikan username
dari mysql kita, defaultnya adalah root. parameter ketiga kita ketikkan
password mysql kita (jika ada), karena default nya kosong. jika teman-
teman menggunakan password pada mysql, silahkan teman-teman ketik
pada parameter ke tiga ini. dan terakhir pada parameter ke empat kita
mengetik nama database yang ingin kita gunakan. atau database yang
ingin kita hubungkan ke php. isikan sesuai dengan nama database yang
ingin teman-teman gunakan. karena tadi saya membuat database baru
dengan nama akademik, maka di sini saya mengetikkan akademik.
• perhatikan jugapada :
• di sini kita akan mengecek, apakah koneksi berhasil atau tidak.
fungsi mysqli_connect_errno() berguna untuk memeriksa koneksi
apakah berhasil atau tidak, jika gagal maka akan kita jalankan fungsi
berikut:
• fungsi mysqli_connect_error() berguna untuk menampilkan error yang
terjadi di koneksi php dan mysqli.
17.
PHP dan MySQLi
•Sekarang akan kita coba jalankan file koneksi.php. jika tidak tampil apa-apa, maka
koneksi database telah berhasil. jika terdapat error berarti koneksi database php dan
mysqli belum sesuai, sehingga harus di sesuaikan lagi.
• jalankan pad browser :
• (jangan lupa megaktifkan atau menjalankan apache dan mysql terlebih dulu)
• dan hasil nya
18.
• sampai disini kita telah berhasil membuat koneksi database php dan
mysqli.
• sekarang coba untuk merubah nama database menjadi “aku”.
• maka akan muncul pesan error yang memberitahukan bahwa
database dengan nama ‘sekolah’ tidak di temukan.
• karena database sekolah tidak ada di database kita.
19.
• Setelah mempelajaricara membuat koneksi database dengan php dan
mysqli di sini tidak lagi di jelaskan tentang membuat koneksi database
dengan detail.
• Buat sebuah file baru dengan nama koneksi.php dan simpan pada
folder login.
20.
koneksi.php
• silahkan teman-temanisi sendiri nama database nya sesuai nama
database yang teman-teman buat, karena di sini kita akan
menggunakan database akademik, maka nama
databasenya akademik.
21.
• Selanjutnya akankita buat halaman login sederhana untuk tempat
admin memasukkan username dan password. kemudian di alihkan ke
halaman admin.
• Pada Materi diatas kita telah sampai pada cara membuat koneksi
database nya. sekarang kita akan melanjutkannya dengan membuat
halaman login sederhana untuk admin. selanjutnya akan di jelaskan
secara bertahap agar lebih mudah di pahami oleh teman-teman.
• buat sebuah file baru lagi dengan nama index.php.
• nah difile index.php ini kita membuat halaman login sederhana untuk
admin. silahkan teman-teman baca lagi Materi form HTML jika teman-
teman belum membacanya. dan
penanganan atau pengiriman data dengan form yang sudah di bahas
sebelumnya.
• kita lanjutkan lagi dengan membuat file yang akan mengelola data
yang di kirim dari form login dari index.php.
• pada file index.php yang membuat halaman login di atas kita telah
menetapkan aksi dari form ini adalah ‘cek_login.php’ dengan method
‘post’ untuk jenis pengiriman datanya. silahkan baca lagi tentang GET
dan POST.
• buat sebuah file baru lagi dengan nama cek_login.php.
• perhatikan, disini kita aktifkan dulu session php. karena kita
menggunakan session sebagai penanda status pengguna yang akan
login. baca di sini Materi session php.
• kita mengaktifkan session php dengan syntax berikut :
• kemudian jangan lupa juga untuk menghubungkannya dengan file
koneksi database yang sudah kita buat.
• kemudian menangkap data yang dikirim dari form login.
28.
• silahkan bacadi sini untuk Materi GET dan POST pada form.
• kemudian kita seleksi data admin yang memiliki username dan
password yang sesuai dengan yang di input pada form login.
• selanjutnya kita hitung jumlah record yang sesuai (yang sesuai dengan
username dan password yang di input).
29.
• jika datausername dan password admin di temukan di tabel ‘admin’,
maka nilai dari variabel $cek adalah jumlah dari record yang di
temukan. berarti variabel $cek bernilai 1 jika username dan password
yang di input sesuai dengan yang ada di database. karena
fungsi mysqli_num_rows() berfungsi untuk menghitung jumlah record
hasil dari query yang ada dalam parameter si fungsi
mysqli_num_rows() ini.
• selanjutnya kita cek dengan if else jika variabel $cek lebih besar dari
nol (berarti username dan password yang di input sesuai), maka kita
buat session username dan session status seperti pada syntax berikut.
kemudian kita alihkan ke folder admin/index.php.
jika tidak maka kita alihkan halamannya kembali ke halaman login
(index.php) sambil mengirimkan data pesan (?pesan=gagal).
30.
• itu sebabnyadi file index.php (halaman login) kita membuat
pengecekan seperti berikut (perhatikan pada file index.php)
31.
• ini untukmemeriksa pesan yang di kirim. karena tadi jika username
dan password tidak di temukan, akan dikirimkan pesan “gagal”. pada
pengecekan notifikasi ini kita akan menampilkan pesan notifikasi
“Login gagal! username dan password salah!” jika username dan
password gagal. begitu juga seterusnya dengan pesan logout dan
belum_login yang akan kita buat pengalihannya sebentar lagi.
32.
Membuat Halaman Admin
•Seperti yang teman-teman lihat pada syntax sebelumnya. saat
melakukan pengecekan, jika username dan password benar, maka
halaman akan kita alihkan ke halaman admin yang berada dalam
folder admin.
• jadi sekarang kita buat sebuah folder baru dengan nama ‘admin’.
33.
• setelah membuatfolder admin, buat sebuah file baru lagi dengan
nama index.php. pada file index.php ini kita akan membuat halaman
sederhana untuk admin.
• admin/index.php
• coba perhatikanpada file index.php. di sini kita buat pengecekan
dengan if else.
• ika session status tidak sama dengan “login” maka halaman akan di
alihkan ke halaman login lagi sambil mengirim pesan “belum_login”.
pengecekan ini berfungsi untuk keamanan agar halaman admin tidak
bisa di akses sebelum melakukan login (session login di buat saat login
berhasil, perhatikan lagi pengecekan pada file cek_login.php).
36.
• kita jugamenampilkan notifikasi selamat datang untuk username
yang sedang login dengan cara langsung menampilkan session
username yang berhasil login.
• jika yang login adalah pengguna dengan username “admin” maka
yang tampil di sini adalah “selamat datang, admin”. begitu juga
selainnya.
• terakhir kita buat tombol untuk link logout.
• saat link logout di klik, maka akan di alihkan ke file logout.php.
• buat file baru dengan nama logout.php.
• file logoutberguna untuk menghapus semua session yang telah di
buat saat login. dan mengalihkan halaman kembali ke halaman login
sambil mengirim pesan ‘logout’.
• kita menghapus semua session dengan
fungsi session_destroy() seperti pada contoh di atas.
• nah, semuaya selesai. waktunya kita coba.
• jalankan localhost/login pada browser.
39.
• nah, halamanlogin tampil. selanjutnya untuk mencoba apakah form
login ini sudah berjalan dengan sebagai mana mestinya, coba isikan
username : tes, dan password tes123.
40.
• dan kliktombol LOGIN. maka akan muncul notifikasi kalau username
dan password yang di masukkan salah.
41.
• sekarang cobamasuk langsung ke halaman admin tanpa melakukan
login, akses “localhost/login/admin“.
42.
• maka akanmuncul notifikasi yang mengharuskan kita untuk login
terlebih dulu.
• mantap. sekarang coba masukkan username dan password yang
benar. username : admin, password : admin123. dan klik LOGIN.
43.
• login punberhasil. kita coba klik pada link logout, maka halaman akan
di alihkan kembali ke halaman login sambil menampilkan pesan
notifikasi bahwa telah berhasil logout.
44.
Pengumpulan
• File Kode,ScrenShort(SS)/printscren database dan hasil raning
• Kumpulkan pada ling berikut https://bit.ly/Tugas_8-11