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
|
|
Sebelum melanjutkan ke tahap selanjutnya, pastikan dulu temen2 sudah membaca dan mempelajari postingan dari link di atas, klo udah mantep baru deh cekidot lagi ke tahap selanjutnya di bawah ini.
|
|
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 10 -> fungsi syntax session mulai di aktifkan (wajib dimulai dengan syntax ini)
Baris 11-12 -> session akan meregistrasikan kata kunci opikuser dan opikpass (kata kunci ini boleh di ubah secara bebas atau ditambahkan lebih dari 2 sesuai kebutuhan). Dalam hal ini opikuser berfungsi untuk menampung data username, dan opikpass untuk menampung data password
Baris 14-15 -> kata kunci opikuser dan opikpass akan diberi nilai username dan password yang sesuai dengan data yang ditemukan di database
Baris 16 -> berisi halaman situs yang bernama masuk.php, artinya jika user berhasil login maka akan masuk ke halaman ini
|
|
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 :
2. Jika login gagal :

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… . 
Like this:
Be the first to like this post.