MEMBUAT LOGIN ADMIN/USER dengan SESSION
Met ketemu lagi kawan, saya pengen sharing dikit mengenai cara membuat fungsi login admin/user tertentu menggunakan php, biasanya dalam pembuatan login ini selalu memakai username dan password sebagai standarisasi akun yang biasa dipakai.
Mungkin temen-temen sudah sering menemukan situs yang menggunakan fasilitas ini, contohnya facebook. Agar bisa masuk ke halaman facebook (termasuk membuat status, memberi comment dsb) tentunya kita harus membuat sebuah akun, nah akun inilah yang menjadi persyaratan kita agar bisa menggunakan fasilitas facebook. Begitu pula topik yang akan kita share saat ini, kita akan menggunakan username dan password sebagai persyaratan untuk dapat memasuki sebuah halaman situs. Maka kunci pembelajaran kita saat ini adalah syntax session.
Apa itu session?
Session adalah salah satu fungsi php yang biasa digunakan untuk pembuatan halaman yang hanya khusus bisa dibuka oleh beberapa user yang sudah diketahui identitasnya. Agar bisa diketahui identitasnya, maka user harus membuat sebuah akun yang memuat data-data pribadinya, biasanya pembuatan akun ini selalu disediakan di beberapa situs, contohnya wordpress, blogspot, facebook dan masih banyak lagi. Nah, dari sekian banyak data yang dimasukkan dalam akun tersebut, kita hanya akan membuat 2 data yang menjadi persyaratan sang user untuk bisa masuk ke sebuah situs (sebagai contoh wordpress), yaitu username dan password.
Oya, untuk memudahkan pembahasan agar tidak melebar, kita perlu membuat batasan masalah (jadi inget metlit eui…). kita tidak akan membahas pembuatan database dan form secara detail, sehingga asumsinya kita sudah paham tentang pembuatan kedua fasilitas tersebut. Bagi yang belum paham database bisa melirik postingan saya yang judulnya latihan uji program bagian 1. (mudah-mudahan bisa membantu).
Oke, langsung kita praktekkan aja ya…
Untuk langkah awal, mari kita buat sebuah database yang memuat tabel user. Buat dengan ketentuan di bawah ini:
Nama database : latihsesion
Nama tabel : user, didalamnya ada atribut/field :
- Username, dengan tipe data : varchar, length : 11, jadikan primary key
- Password, dengan tipe data : varchar, length : 11
Lalu buatkan file untuk mengkoneksikan program dengan database (jangan lupa di postingan tentang latihan uji program bag.1). agar lebih mudah, kita samakan nama filenya dengan nama config.php
nah temen2, rencananya kita akan menjadikan password yang dimasukkan user terjaga secara privacy, artinya jika dimasukkan password dengan nama session, maka yang muncul di database bukan session lagi, tapi kata-katanya di acak sehingga tidak bisa ditebak, contohnya menjadi : akgjefkfdodj87950kfjbl, tapi sang admin ataupun programmer masih tetep bisa mengetahui password mana yang bener atopun salah, gmn caranya ya? (itu nanti kita bahas), tapi sekarang, kita harus tahu dulu gmn caranya ketika user daftar akun baru, lalu password yang dimasukkan user akan teracak seperti di atas, nah kawan2.. saya sudah membuat postingan khusus yang membahas hal ini, klik aja link di bawah ini :
Membuat password user terproteksi secara Aman
|
Langkah selanjutnya kita akan buat form login seperti gambar di bawah ini
Perhatikan tulisan merah di gambar atas, lalu Ketentuan lainnya : isi nilai action pada atribut form dengan nama cek_login.php, contohnya :
<form id=”form1″ name=”form1″ method=”post” action=”cek_login.php”>
Yang artinya bahwa nilai yang dimasukkan ke dalam form tersebut akan di bawa ke file yang bernama cek_login.php
- Lalu buat file php baru dengan nama cek_login.php (sesuai dengan nilai action pada atribut form di atas)
- File ini berfungsi untuk memeriksa apakah data yang diinputkan user sudah benar ada di database atau belum, jika tidak ada maka si user di anggap belum membuat akun dan tidak bisa masuk ke halaman situs
- Perhatikan gambar syntax cek_login.php berikut ini :
Yang paling perlu diperhatikan dalam latihan kali ini hanya beberapa baris saja, yaitu :
Baris 3 -> menjadikan password yang diinput terbaca secara acak (sesuai dengan data password di database yang kita buat jadi acak) lalu memasukkannya ke variabel $password
Baris 4 -> mencari data yang diinputkan user di dalam database
Baris 5 -> untuk mengetahui hasil pencarian, jika $ketemu bernilai 0 maka data tidak ditemukan, tapi jika bernilai 1 maka data berhasil ditemukan
Baris 9 -> menyeleksi variabel $ketemu jika bernilai > 0 atau lebih tepatnya 1 (data ditemukan/login berhasil), maka akan masuk ke :
|
Baris 19-20 -> jika data username dan password tidak ditemukan maka akan muncul tulisan “anda belum daftar” dan tidak akan bisa masuk ke fungsi yang ada di kotak di atas.
Nah teman2, jika langkah di atas sudah dilakukan maka pengecekan login user sudah beres, sekarang kita beralih ke halaman situs ketika user berhasil login, POINT PENTING: halaman ini harus menggunakan pengecekan, yaitu hanya bisa dibuka ketika user belum logout, jika sudah logout maka halaman ini tidak bisa dibuka. Fungsi ini tidak akan bisa dilakukan jika hanya menggunakan fungsi IF biasa tanpa menggunakan fungsi SESSION/COOKIES. Klo gak percaya buktikan sendiri aja ya gan……
Inilah syntax masuk.php dengan seleksi session di dalamnya :
Syntax di atas akan menampilkan 2 buah pilihan tampilan :
- Jika user berhasil login, maka akan muncul :
Terakhir, kita akan membuat file logout.php untuk fasilitas user jika ingin logout, artinya, ketika link logout ini di pilih, maka kata kunci dari $_SESSION[opikuser] dan $_SESSION[opikpass] nilainya akan dihapuskan, sehingga jika kita mau kembali ke file sebelumnya dengan memilih Back dari browser, yang tampil hanya tulisan “anda belum daftar”, padahal sebelumnya kita sudah berhasil masuk dengan tampilan “Alhamdulillah berhasil login euuuuui,,,”
Inilah syntax untuk file logout.php:
Nah kawan2, sekarang silahkan putuskan sendiri, lebih enakan pake SESSION atau IF BIASA??
Mudah-mudahan bisa bermanfaat, mudah dipahami dan menjadi ladang kebaikan untuk sang penulis ya… Amiin. Jangan lupa saran dan kritikannya gan… . 







kalo jika kta sebagai admin … terus ada yang register.. nah kalo lom kita(admin) approve id dan username tidak dapat digunakan… gimana caranya?
duh aku masih kurang paham sama tutorial diatas, soalnya aku mencari tutorial indexnya g ketemu-ketemu, makasih
mau tanya dong??
aku udh ikutin tutorial yang anda buat.. tapi malah muncul begini :
Maaf kamu belum terdaftar!!
coba klik link ini Tambah Data Login
knp ya??
need help please… hehehhe =D
for more information.. call me at yahoo messanger : opik_namikaze@yahoo.com
saya baru saja membuat wp multi site.pastinya saya kebingungan jika ada se orang user yang ingin ber gabung di wp saya.yang saya butuhkan adalah wp-login.php untuk multi site nah car buatnya gimana? mohom pencerahanya.wp-login.php untuk 1 user admin kan udah satu paket dari sananya.tolong di kirim ke e-mail pribadi saya.terimakasih atas info yang sangat berharga ini…
terus?? wah berarti sya jg hrus bnyak belajar dari agan juga nih..
good job
thank u brothers….