Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
login ganda
permisi agan agan, saya mau membuat login ganda, jadi misal sebelum operator login, manager harus login dulu, jadi sebelum manager login, operator tidak bisa login. untuk case seperti itu, apakah mungkin? lalu untuk session nya bagaimana ya? karena akan dilakukan di pc yang sama. terimakasih byk para masta.
14 Jawaban:
simpan di db gan, jadi jika operator login cek di tabel apakah manager sudah login atau blm
wah.. maksud nya gmna ya gan? proses nyimpen di db nya gmna?
Kalau saya sih Bikin tabel login isinya (id, nama, jabatan) Jika manager sudah login maka tabel login akan bertambah Contoh id : 1 Nama : joks(nama manajernya) Jabatan : manajer / operator
Nah setelah tu buat seperti ini Select from tabel_login where jabatan = "manajer", Jika di dalam tabel_login sudah ada nama manajer maka operator di perbolehkan login Jika tidak, maka tampilakan alert (manajer belum login, silahkan tunggu). Dan jika manager log_out maka nama, jabatan yg ada di tabel_login akan terhapus, begitu juga dengan operatornya Biasanya sih menggunakan mysqli_num_rows(). Mungkin agak bingung ya? :v
jd buat tabel di database yg saat user login, pake query insert. dan saat logout pake query delete, gtu mas? klo case ini, brarti tabel itu hanya untuk manager dan operator aja ya? bener ga mas? @JoksKur
Solusi Agan @joksur juga bisa.. dan betul logikanya bagus Sip.... tapi ada kelemahan nya.. ini Saran aj supaya kita sama2 ngerti.. biar manfaatlah untuk siapapun.. semoga membantu.. penjelasan dibawah).. Monggo.. Baca dan pahami baik2... biar mudeng..hehe.. maf tulisan berantakan..
session_start();
// contoh username dari managernya => cupuh (bukan penanya... hanya mirip aja hehe..) ..
tapi kalau kasus manager lebih dari 1 / menyesuaikan bagian yaa. beda kasus...
//saat proses login cek username .. jika bukan manager (artinya operator)
if($user != 'cupuh') {
// cek COOKIE manager_login...jika KOSONG..artinya manager belum login..
// barusan dibenerin.. wkwkw
if(empty($_COOKIE['manager_login'])) {
// gagal login karena manager belum login
header('location: login.php');
}
}
if(cek username dan password sukses) {
// lolos login
$_SESSION['user'] = $user;
// khusus jika Manager login set cookie manager_login
if($user == 'cupuh') {
// atur expired sesuai jam kerja misal 12 jam.. 1 jam => 3600 * 12 = 43200
setcookie('manager_login', TRUE , time() + 43200)
}
// code...
}else{
// gagal login
// code...
}
/*
PENTING...
habis manager login pastikan dia logout.. kenapa??? karena jika tidak...
maka session user akan tetap ada ($_SESSION['user'] = 'cupu') .. (seperti dibilang tadi 1 komputer) ...
artinya program akan MENGANGGAP sudah ada user yg login..
kan bisanya untuk keamanan disetiap file..diberi cek apakah user sedang login / tidak...
dan biasanya berdasarkan $_SESSION['username'] / mungkin yg lain.. apalah gitu..
jadi kalau dia akses misal
localhost/aplikasi/home.php
dia akan langsung bisa masuk tanpa harus login dahulu... karena si MANAGER gk logout..
belum nanti masalah hak akses,, jika memang ada.. malah lebih rawan SATPAM nya (keamanannya) hehehe
*/
Semoga Membantu (^_^)/...
luar biasa sekali, terima kasih byk mas @ciloxz.. sekali lagi terima kasih byk.. untuk saran dari mas @ciloxz, brarti tidak perlu buat tabel di database lgi ya? lalu untuk logout manager nya mas, ada solusi? untuk skrg, yg ane buat, jd saat operator logout, manager otomatis ikut logout juga (maksud nya jadi hanya 1 button logout di page operator. dan di logput ane buat session_destroy.) apa itu sudah cukup mewakili untuk menghapus session si manager? mohon masukan nya lagi agan agan mastah :D
ndk usah buat tabel lagi.. pemrograman itu gini..kalau ada yg lebih efektif . ya pilih itu..
ya.. ndk usah gitu.. logout. biasa.. jadi saat Manager login.. habis itu logout. lagi.. kasarannya buat sarat gitu. lo.. hehe.. kan emg sarat nya.
logout.php..
session_start();
session_destroy();
header('location: login.php');
Sama2 agan @cupuh.. senang bisa membantu.. semoga manfaat juga ke yang lain..
Weh, saya juga baru tau kalau ada cara seperti itu, terima kasih mas @ciloxz :v
@joskur.. Ok bro... Semoga semakin banyak manfaat ke org.. hehe... :D
Koreksi . .meleng dikit wkwkwkw..
if(empty($_COOKIE['manager_login']) {
if(empty($_COOKIE['manager_login'])) {
alhamdulillah logout nya juga begitu mas ciloxz yg ane buat, yg ane buat skrg, setelah si manager login, redirect ke halaman login operator. karena disini manager login hanya syarat aja untuk operator. kalo yg ane buat itu karena setelah manager login redirect ke halaman login operator, logout manager nya apakah di halaman login si operator? atau gimana ya enak nya mas @ciloxz? mohon masukan nya :D
udh pake cara.. cookie td,,,?
login juga jadiin satu.. gk usah dipisah.. ngapain juga..boros form..
intinya.. ketika manager login.. nget SET cookie tadi... setelah itu manager logout langsung.. artinya session user nya dihapus.. terserah caranya manager harus nekan tombol logout / dikasih confirm(langsung logout / lanjut ke aplikasi) gitu juuga boleh.... soalnya kalau dia yg mau operasiin aplikasinya gimana kalau langsung redirect ke hal. login operator..
berarti saat manager lgsg logout, cookie nya ga akan ilang ya mas @ciloxz? okedeh mas makasih,, saya edit lgsg ini... jgn bosen jawab pertanyaan saya,
ya ndk gan.. kalau logout kan session_destroy()...yg dihapus session.. bukan cookie.. work itu.. asal agan teliti.. iya Insya Alloh.. selama bisa membantu.. tetapi usaha dulu.. biar terlatih.. baru kalau mentok. bertanya..