Sebelum membuat form login, buatlah terlebih dahulu sebuah tabel misalnya tb_User.
Tabel ini berfungsi menampung semua data user yang memiliki hak akses.
Tabel ini berfungsi menampung semua data user yang memiliki hak akses.
Misalnya :
Name : user Type : Character Width :10
Isikan dengan salah satu password, misalnya :
Username : admin
Password : admin
Kemudian buatlah form dengan tampilan sebagai berikut, beri nama misalnya login :
Kemudian ketikkan coding berikut :
Untuk object form Login dan procedure Load
SET DELETE ON
CLOSE DATABASES ALL
IF ! USED('TB_User') THEN
USE "..\Database\TB_User" && Lokasi TB_User Anda
ENDIF
Untuk object form Login dan procedure Load
SET DELETE ON
CLOSE DATABASES ALL
IF ! USED('TB_User') THEN
USE "..\Database\TB_User" && Lokasi TB_User Anda
ENDIF
Kemudian procedure Init
THISFORM.txtUser.VALUES=' '
THISFORM.txtPassword.VALUES=' '
Pada object cmdlogin dan procedure click
mUser=ALLTRIM(thisform.txtUser.Value)
mPwd=ALLTRIM(thisform.txtpassword.Value)
SELECT * FROM TB_User WHERE ALLTRIM(User)==ALLTRIM(mUser) INTO CURSOR TB_Cari
mAkses=.F.
IF ! EOF('TB_Cari') THEN
IF ALLTRIM(TB_Cari.password)==mPwd THEN
mAkses=.T.
ELSE
MESSAGEBOX("Password Anda Salah, Silahkan Ulangi",0+16,"PERHATIAN")
thisform.txtPassword.Value=' '
THISFORM.txtPassword.SetFocus
RETURN
ENDIF
DO FORM frmMain.scx && Form yang akan anda jalankan jika password benar
THISFORM.Release
ELSE
MESSAGEBOX("User anda tidak terdaftar ..",0+16,"PERHATIAN")
thisform.txtUser.SetFocus
RETURN
ENDIF
mUser=ALLTRIM(thisform.txtUser.Value)
mPwd=ALLTRIM(thisform.txtpassword.Value)
SELECT * FROM TB_User WHERE ALLTRIM(User)==ALLTRIM(mUser) INTO CURSOR TB_Cari
mAkses=.F.
IF ! EOF('TB_Cari') THEN
IF ALLTRIM(TB_Cari.password)==mPwd THEN
mAkses=.T.
ELSE
MESSAGEBOX("Password Anda Salah, Silahkan Ulangi",0+16,"PERHATIAN")
thisform.txtPassword.Value=' '
THISFORM.txtPassword.SetFocus
RETURN
ENDIF
DO FORM frmMain.scx && Form yang akan anda jalankan jika password benar
THISFORM.Release
ELSE
MESSAGEBOX("User anda tidak terdaftar ..",0+16,"PERHATIAN")
thisform.txtUser.SetFocus
RETURN
ENDIF
Pada object cmdBatal dan procedure click
thisform.Release() && Menutup form Login
thisform.Release() && Menutup form Login
Penjelasan untuk coding diatas :
TB_Cari
Tabel ini bersifat temp yang berfungsi untuk memeriksa username dan password dari inputan user dengan record yang ada pada tabel yang telah dibuat.
Perhatikan untuk txtUser dan txtPassword harus disesuaikan dengan nama text yang anda buat pada form. Bisa saja nama yang anda buat untuk text1 adalah txtName dan text2 adalah txtpassword, maka gunakan nama tersebut !!
Untuk MESSAGEBOX kata-kata dalam tanda petik silahkan diganti sesuai keinginan anda, kode messagebox bisa disesuaikan misalnya dapat diganti dengan 16, 32 atau 64.
Kode dibawahnya digunakan untuk membersihkan form setelah anda klik Ok pada massage box jika salah memasukkan user dan password.
Untuk membuat agar password yang diinputkan user tidak kelihatan maka cari di properties txtPwd passwordchar dan ganti dengan tanda * (bintang) atau lainnya.
Demikian kodenya, simpan dan tekan Ctrl + e (!) atau (Run). Masukan User dan Password sesuai yang telah dibuat maka anda akan login dan masuk ke form2 jika anda salah maka akan keluar pesan kesalahannya. Jika masih error silahkan cek kembali coding anda, mungkin ada yang terlewat atau salah ketik. Atau silahkan kasih komentar agar saya dapat membantu,
Semoga bermanfaat.
itu sourch code yang utk memeriksa username s5 password salah trus tuh apanya ya yh salah ya gan saya curiga di sourh code (.and.)
ReplyDelete@yopikristiyanto:kalo cara ngisi user di table'nya gmn yach ?
ReplyDeletekeingetan tugas kuliah dulu, lupa nich mo nanya ? kalo cara ngisi user sama password di table'nya gmn yach ?
ReplyDeletemakasi.
buka table kemudian ketikkan di command perintah append trus isi user dan passwordnya.
DeleteUntuk melihat hasilnya ketik browse
gan,, biar passwornya yang ditampilin bukan dlm bentuk text gimana yah gan, misal seperti bintang (******) atau #### ..
ReplyDeleteoh iyah, sewaktu disuruh login tapi gak diisi user_name sama password tetep masuk bukannya disuruh lagi, setiap user_name diisi tapi bisa masuk juga,, kenapa yah gan..?
klik di text box " txtPwd" kemudian di properties passwordchar silahkan isi dengan * atau #.
DeleteUntuk codingnya silahkan cek seperti di atas.
mohon banttuannya..
ReplyDeletekenapa saya coba coding diatas selalu gagal user dan password salah..
padahal codingnya udah benar..
Mungkin di fungsi SELECT, data anda tidak mengarah ke table tempat user dan password anda di simpan. Coba cek sekali lagi.
DeleteUntuk memudahkan, Coding diatas sudah saya update.
Silahkan di coba.