Membuat Login dan Logout dengan PHP

Membuat login dan logout dengan PHP sangat diperlukan bagi website yang membutuhkan data penggunanya atau yang tidak ingin semua orang seenaknya masuk ke websitenya. Namun kadang para pemula di bahasa PHP kebingungan bagaimana cara membuatnya. Jadi kami memberikan contoh paling sederhana untuk dipelajari.
login dan logout user
Pada script yang kita buat nanti kita perlu wadah untuk menyimpan data yaitu dengan menggunakan Mysql, salah satu database yang paling popular saat ini untuk PHP. Namun perlu di ingat bahwa ini adalah keamanan standar, jika anda ingin lebih aman maka perlu menambahkan beberapa hal lainnya dan silahkan pelajari lebih lanjut mengenai pengamanan password dengan PHP.

Lalu apa yang dibutuhkan user anda nanti untuk login ? kami mencontohkan dengan email dan password yang nantinya dapat anda ubah dengan username dan password atau apapun yang anda inginkan. Memberikan halaman login bertujuan untuk memblokir akses pengguna yang belum lagin, mari kita mulai.

Ada empat bagian utama untuk membuat halaman login dan logout skrip di PHP. bagian pertama adalah form login yang akan di isi oleh user anda untuk menunjukkan dirinya.
Yang kedua adalah mekanisme login yang akan mengambil username dan password yang diberikan, lalu mencocokkan apakah benar ada yang sudah terdaftar dengan username dan password tersebut. Bagian ketiga adalah memeriksa pengguna di setiap halaman untuk melihat apakah mereka telah berhasil login.
Terakhir kita perlu sebuah mekanisme untuk menghilangkan pengguna yang sudah login, dimana kita menyebutnya logout.

Bagian 1 - Membuat Log In Form

Langkah pertama adalah membuat formulir login itu sendiri dimana kita memerlukan gabungan antara HTML dan kode PHP, dimana login form mempunyai element kunci yaitu method “POST”. Mengapa menggunakan post daripada get ? karena jika kita menggunnakan get maka url akan tersimpan dan pengguna lainnya akan mudah untuk login ke akun user kita jadi user kita tidak akan aman.

Berikutnya adalah dua input form yaitu username dan password yang nantinya akan di isi oleh user, berikutnya adalah submit button atau tombol kirim pertanda bahwa form yang diisi sudah siap dikirim untuk di cek.

Terakhir sebagai mempercantik dan sebagai peringatan bagi user yang salah adalah area warning yang akan ditunjukkan hanya bagi user yang salah memasukkan datanya.  Disini kami mengguakan pesan error dengan variabel $error.

Seperti yang dapat Anda lihat dari kode kita di atas, bentuk memiliki metode "post" dan atribut aksi kosong ( yang berarti akan dikirim pada halaman yang sama pada saat ini ). Form tersebut juga memiliki input dengan name “emailaddres” dan “pass”  Kemudian memiliki tombol submit dengan value “login”. Sisa HTML terserah Anda untuk merancang dengan gaya sesuai keinginan Anda.

Bagian 2 - Mekanisme Login

Setelah kita membuat form login yang akan mengirimkan data email dan password maka selanjutnya kita memerlukan pengolah data tersebut sehingga nantinya mekanisme login kita akan berjalan sempurna. Pada mekanisme ini nantinya script akan mengecek apakah username dan password cocok atau tidak. Jika cocok maka user diizinkan untuk masuk dan jika tidak maka akan dikembalikan pada halaman login tadi. Tidak hanya dikembalikan, kita juga akan memberikan peringatan kesalahan dalam login tadi.

Dalam proses yang telah di sebutkan di atas memerlukan koneksi database, kami akan “mengasumsikan” bahwa anda telah mampu membuat koneksi database mysql yang telah bekerja dengan baik. Pada contoh kali ini kami menggunakan contoh class PDO yang cukup terkenal untuk menangani sql database. Namun nantinya anda dapat menggantinya dengan mysqli atau metode lainnya.

Pada kode di atas kami memberikan comment line agar anda mengetahui proses yang sedang terjadi pada bagian tersebut sehingga memudahkan anda untuk memahami kode diatas. Mula – mula kita membuat sebuah memulai session. Berikutnya kita memriksa apakah tamu di website anda mengajukan sesuatu memalui login form, jika iya maka $_POST akan berisi informasi yang dikirim tersebut.

Berikutnya kita akan mencari data pengguna yang cocok, kita tidak perlu dulu lulus pada password karena kita akan lebih mengamankan password pengguna. Setelah itu kita akan mengambil passwornya lalu membandingkan password dengan enkripsi agar password tidah dapat dilihat oleh pihak lain meskipun password pada database kita bocor. Pada contoh kali ini kita menggunakan hash SHA256.Jika mereka cocok, maka user berhasil login.

Berikutnya kita akan membuat variable session. Salah satu variabel tersebut akan menjadi variabel yang akan diperiksa pada setiap halaman untuk mengetahui apakah mereka sudah login atau tidak. Jika session ini tidak ada, maka kita tahu mereka tidak pernah datang melalui halaman login. Kita kemudian dapat dengan mengirim mereka kembali ke login.php untuk pergi login. Dalam contoh kita disebut ini variabel "is_auth" dan mengaturnya sebagai “true”. Setelah variabel sesi ( session ) dibuat, kami meneruskan pengguna ke home.php ( halaman yang ingin anda tunjukkan bagi pengguna yang berhasil login ).

Jika pengguna gagal dalam proses login tersebut, kita akan menyiapkan pesan error dalam variabel $error.

Bagian 3 & 4 - Memeriksa Otorisasi membuat Logging Out

Pada tahap ini setiap user akan memiliki variabel sesi yang selalu di cek yang kita sebut tadi sebagai “is_auth”. Kita akan menaruhnya pada bagian atas setiap halaman yang ingin kita batasi. Jika sesi tidak ditemukan maka user akan dikirim kembali kehalaman login. Kode ini sebaiknya dimasukkan ke setiap halaman dengan cara include();

Jadi sekali lagi kita memulai sesi dan memeriksa apakah variabel "is_auth" sudah ada atau tidak. Jika tidak, kita segera meneruskan mereka ke login.php. Jika mereka sudah login, kode ini dilewati.

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel