2013-08-06

Ask 2 Answer : Lupa password


pertanyaan:
Gimaana Sih cara buat Lupa password di suatu php ??

Jawaban:
sebuah program seharusnya dimulai dari tampilan awal, lalu ke db en terakhir baru script. Sebelumnya ya logikanya dahulu.

TAMPILAN

pertama kita dapat formnya hanya 1 input yaitu input username. Namun ini kurang tepat karena bisa saja user lupa (ini sebenarnya proses setelah urusan input username selese dan prog dah jadi sesuai rencana). Namun untuk cepat kita ignore dahulu! setelah itu tampilan berikutnya adalah tampilan kalau berhasil di input.
*memakai kondisi kalau yang di input benar.
berikutnya masih dalam tampilan adalah tampilan yang akan diterima oleh user.. dari pembicaraan didapat

anda telah mereset password, berikut ini adalah password anda ( password yang ada di table ). Pada point ini kita tidak bahas logika dahulu.

ada tambahan dari tampilan yaitu kalau yang di input tidak ada!!

DATABASE

kita sudah mendapat table user dengan nama dan user !! sisanya bisa di ignore!
apakah table ini cukup.. berbekal dengan pengalaman, semuanya seharusnya di catat.. jadi mari tambahkan satu yaitu log_forgotpass. isinya

  • no
  • username
  • ip
  • tanggal


LOGIKA

kita ikuti logika yang ada yaitu logika yang tidak ada masalah dalam input

  • user input formnya
  • user mendapat halaman terima kasih
  • user baca email
  • user pakai passwordnya


tapi disini ada satu keanehan.. Kenapa dikasi password yang ada di table, bukan password baru? sebenarnya dengan ngasi password yang sama misal xxx1 (sama seperti password yang dia lupa).. Itu bisa saja mengecewakan dia.
Saran:
daripada memberi password yang sama dengan password semula.. Bagaimana kalau kasi password random yang dapat di akses!!


Ternyata dia cuma lupa username

hal ini dapat terjadi. jadi si user cuma lupa username tapi inget password!
*ini benar ada*
di FB, kalau kita salah masukin password akan muncul avatar kita sambil ditanya.. kamu ini mau login ke fb ini??!? dengan cara di atas yaitu ganti password akan membuat dia kesusahan (walau ini bukan kasus yang salah). saran dari saya adalah memberikan 2 cara itu jadi satu..
Jadi kita bisa kasi token random yang kalau di klik akan reset password! Namun ingat passwod saat token belum di klik tidak akan di reset! Disinilah kamu butuh table tambahan, saran saya table password_forget yang mana akan berisi token, username, expire!

dengan metode ini, kamu akan membutuhkan 1 form lagi yaitu form reset password!

KESIMPULAN


  • membuat aplikasi mulai dari tampilan, design db dan logika sebelum masuk ke coding
  • user tidak selalu ingat username jadi berikan fasilitas untuk dia mengingat. Kalau di FB memakai metode menunjukkan username yg pake email (kalau pake email)
  • user mendapatkan email yang berisi token, saat di klik akan menuju form reset password
  • semua transaksi harus di log, walaupun sekedil apapun.
Selamat Belajar

Tidak ada komentar: