Register, Login, dan Forgoten Password ala Lokomedia

Diposting pada : Jumat, 23 November 2012 Pukul : 10:55:47 WIB | Kategori : Lokomedia | Dibaca : 6373 kali

Pertanyaan mengenai cara membuat form login dan register lokomedia sering saya jumpai di beragai tempat. Padahal sebenarnya dalam versi terbarunya yakni versi 1.6.1 script login membership lokomedia sudah tersedia didalam file kiri.php template eljquery. Hanya saja secara kasat mata dalam tampilan user tidak terlihat atau tidak dimunculkan. Kalau kita bisa teliti sebenarnya terlihat dalam halaman semua-download.html. Disana kita menemukan tulisan Silahkan login dulu untuk mengakses halaman ini. Namun ketika kita ikuti link yang disediakan maka akan muncul halaman error. Mari kita cek file .htaccess yang disertakan dalam update lokomedia 1.6.1. Memang tidak ditemukan aturan untuk mengarahkan ke halaman login.html seperti yang disarankan pada link login. Maka kita harus menambahkan script berikut dalam .htaccess

RewriteRule ^daftar\.html$ media.php?module=daftar&id=$1 [L]
RewriteRule ^daftar-aksi\.html$ media.php?module=daftaraksi&id=$1 [L]
RewriteRule ^login\.html$ media.php?module=login&id=$1 [L]
RewriteRule ^cek-login\.html$ media.php?module=ceklogin&id=$1 [L]
RewriteRule ^logout\.html$ media.php?module=logout&id=$1 [L]

Setelah kita tambahkan maka akan muncul form login untuk mengisikan username dan password. Tentu saja kita tidak tahu apa yang harus kita inputkan disana, karena kita memang belum memiliki akun disitus lokomedia ini. Dan ternyata dalam template eljquery sudah ada juga script modul registernya, tinggal kita buat saja link-nya dibawah form login menuju daftar.html dengan menambahkan sedikit script di modul login ini. Kira-kira jadinya seperti ini :

//halaman login member
elseif($_GET['module']=='login'){
	echo "
"; echo "»Login

"; if(empty($_SESSION[session_username])){ echo "Silahkan Anda mengisi form login :
Username :
Password :

Belum punya akun ? Klik Daftar | Lupa Password"; } else { echo "

Anda sudah login.

"; } echo "
"; }

Setelah kita menemukan halaman register atau pendaftaran member ternyata masih terjadi kesalahan ketika sudah memasukkan seluruh data yang diinputkan. Apa penyebabnya ? Kita cek script module daftar aksi yang merupakan kelanjutan dari modul daftar, maka disana data akan dimasukkan ke dalam tabel member. Yang ternyata tabel member ini belum ada dalam database lokomedia. Maka kita harus membuat tabel member ini pada halaman phpmyadmin dengan field nama, email, username, dan password. Sebenarnya hanya empat field tadi yang daibutuhkan namun ada baiknya untuk alasan kevalidan data member kita akan modifikasi tabelnya menjadi 10 field untuk keperluan pengembangan selanjutnya. Yakni register menggunakan metode aktivasi dari email member. Atau bisa juga kita gabung dalam tabel user dengan value level adalah member. Tapi itu malah bikin ribet karena harus merombak script. Jadi sebaiknya kita buat tabel member saja dengan rincian sebagai berikut

Field Jenis Keterangan
id_member INT(10) primary, auto_increment
nama VARCHAR (50)  
email VARCHAR (50)  
username VARCHAR (20)  
password VARCHAR (60)  
aktif ENUM ('Y','N') default (N)
kode_aktivasi VARCHAR (100)  
tgl_lahir DATE  
gender ENUM ('L','P')  
photo_profil VARCHAR (50)  

Atau import file member.sql berikut.

Sekarang silahkan coba register dan login, Insya Allah script akan berjalan normal. Cuma ada beberapa kendala pada beberapa link home setelah login pada halaman cek-login.html. Maka link tersebut harus kita ganti menuju index.php. Juga pada script modul logout location : home kita ganti dengan location : index.php.

member-login

Lantas bagaimana setelah kita login kita mau logout. Eh ternyata lagi link logout juga belum tersedia. Dimana kita akan meletakkannya? Supaya mudah dilihat maka letakkan link logout pada header menggantikan teks CMS GRATIS UNTUK INDONESIA. Scriptnya sebagai berikut :

		        	
  • Logout"; }else { echo"Login | Daftar"; } ?>
  • Dari script diatas kita bisa melihat bahawa konten yang akan ditampilkan khusus untuk member dapat di tulis didalam kondisi ada sesi username yang aktif.

    					if(!empty($_SESSION[session_username])){
    						//script content member only
    					}
    					

    Selesai kasus kita tentang register, login dan logout. Dan yang terakhir adalah module forgoten password yang memang belum ada pada template eljquery 1.6.1 ini. Klik lanjutkan untuk melihat artikel sambungan.

    • mas sudah saya praketikin tp pas saya daftar truz login gak bisa mausuk loginnya gak ad proese login gtu...apakah ad keslahan di aksi loginnya mas

    • pake module aksi login yang di template eljquery bawaaan update 1.6.1 tepatnya di file kiri.php module=ceklogin

    • udah om pke yg bawaan 16 1 pas register data nya emg masuk ke database tp pas login gak bisa yg saya praktekin masih di localhost apakah harus online om?

    • bisa kok di localhost, coba periksa panjang karakter yang diperbolehkan pada field password dalam tabel member. Untuk enkripsi sha1 minimal dibutuhkan 40 karakter jadi walaupun password yang dimasukkan hanya 5 karakter akan digenerate dengan sha1 menjadi 40 karakter. Jadi kalau karakter yang diperbolehkan kurang akan terpotong dan itu yang menyebabkan server menganggap passwornya beda

    • tapi om 6 digit koq...pas loginya gak ad proses aksi..untuk load di form login apa ad kesalahn om di cek aksiloginya...tapi benar2 bawaan lokomedia 1.6.1 koq apakah ad di edit lg om? sudah semlam saya coba2 tetap gak bisa kesalahannya notifikasi eror juga gak ad..jdi bingung keslahannya dimna

    • Submit Login form ke action="cek-login.html" berari ke module=ceklogin SMS : 085273742277

    • kaya nya gini om.. tabel member yg dibikin om ad 10 field sedangkan bawaan register lokomedia cuma 5 field mungkin pengaruh itu ya omm???... kurang form registernya bawa lokomedia tp di localhost databasenya filed verifikasi kode aktifikasi kosong omm gmna om ud mentok omm gak dapat2 buggnya...

    • om cauza bisa dikirim ke eamil sya om source codingnya biar klo benar2 gak bisa om ud mentok ngprek2nya...

    • uda ketemu omm salahnya penutup form nya salah di toturialnya omm...maav om repotin thaks a lot

    • oia om cauza ad pertanyaan lg knpa ya omm databasa di localhost saya tepatnya di tabel member field kode_aktivasi nya kosoong gak ad isinya seharusnya terisi krn meurpakn kode verifikasi kode pengaktifan password yg masuk untuk memberitahukan ke email user???

    • memang kosong, krna kan itu belum dibahas. Itu di artikel selanjutnya register dengan sistem aktivasi. Kalau yang bawaan kan gak perlu diaktivasi...

    • ohh gtu okay om di tunggu toturial2 selnjutnya makssih banyak ilmunya om cauza hehehhe...

    • ok... sama-sama

    • om saya coba lokomedia di localhost. lalu saya masuk ke adminweb tetapi tidak bisa masuk ke admin. tolong bantuannya om. terima kasih

    • pak klu di lokomedia toko ... mohon dibantuin bikin form untuk member dunk ... maksih ...

    • sandhi : coba ubah passwordnya melalui phpmyadmin dg enkripsi MD5
      setyawan : toko lokomedia udah pake sistem mebership.. cba lihat update terbarunya....

    • Thanks mas ,, dulu aku pernah bikin tapi pake session kalo pengunjung logout kenapa admin ikut logout

    • thanks.. om... kalau saya mau upgrade cms lokomedia ke cms lokomedia sistem membersip gimana... ?? apa memang harus download file yang baru dan upload ke webhosting...????

    • gan gimana caranya agar pada saat download file di cms lokomedia, tidak harus login dulu tapi file sudah bisa ke download. saya menggunakan versi 1.6.1 template eljquery. makasih.

    • hilangkan kode if(!empty($_SESSION[session_username])), untuk lebih mudahnya replace aja module download eljquery dengan eljquery2 atw yg yahoo

    • om cauza mau tnya, ane udh coba cms lokomedia nya di localhost lancar jaya tp gliran di upload pake server sendiri agar eror nya, gk bisa masuk adminweb kalo login pasti masuk nya ke link logout.php,
      mohon bantuan nya om cauza yang baik hti.
      trims

    • makasih ... om, sudah saya coba berhasil, mau tanya lagi cara mengganti urutan menu, contoh urutan Beranda-Profil-Agenda-Berita menjadi Beranda-Agenda-Berita, maklum baru belajar. makasih atas jawabanya

    • kenapa kode yang( <li><!--?php
      if(!empty($_SESSION[session_user name])){
      echo "Hai $_SESSION[session_username], Anda sudah login | <a href='logout.html'->Logout";
      }else {
      echo"<a href="login.html">Login</a> | <a href="daftar.html">Daftar</a>";
      n }
      ?>) tidak bisa jalan yang muncul malah
      Logout";} else { echo"Login | Daftar"; } ?>
      declassica.com

    • Om, kenapa menu download di administrator tidak bisa digunakan, sebab saya tidak bisa menambah file yang akan di download, template eljquery . makasih atas jawabannya

    • @ari : untuk urutan menu tambahin aja field baru di menu urutan, kemudian di querynya ditambahin ORDER BY urutan. Klw modul download pake aja modul download versi sebelumnya jika tidak jalan.
      @denyh00 : karena link logouttidak ditutup dg </a> coba klw gini <a href='logout.html'>Logout</a>";

    • gan kalau tiap daftar mamber di Username ID setelah saya inputkan kenapa selalu muncul " Username yang anda masukan tidak valid atau sudah terdaftar." jadi pendaftaran jadi gagal..""" tlong kasih penerangan gan....untuk solusinya agar bisa daftar di mamber

    • mas, say ko menu logout nya ga ngelink kemana2, diem ja.... ga bisa logut lag gt.. napa ya?

    • Mas Minta file lokomedia yg lengkapnya dunk yg versi mas cauza beserta databasenya ?

    • kalo saya mau bikin batasan akses.. misal user, member sama admin
      ada tutorial ny gk mas,..,
      tolong kirim ke rezkha27@gmail.com

    • untuk melihat jumlah member di admin gmn ya mas? soal'a pas login di menu admin gak ada link yang menuju ke member yg sudah terdaftar

    • ane pake lokomedia versi template griya gaya pnya agan Rizal. cara nambah link, membership gmn gan ?
      coz ketika diklik "daftar" & "Lupa Password" kok anteng bae ya, kpriwe kiye lah son ndashku mumeet