Tutorial kali ini saya ingin membahas tentang pembuatan sistem login sederhana untuk dapat masuk kedalam sistem aplikasi. Tutorial ini merupakan lanjutan dari tutorial sebelumnya: Membuat Aplikasi Input Data Sederhana Dengan PHP, sehingga
database yang digunakan adalah database dalam tutorial sebelumnya.
Jadi, untuk dapat mengikuti tutorial kali ini, anda harus mengikuti
tutorial sebelumnya terlebih dahulu.
Berikut saya tampilkan kembali struktur database dari tutorial sebelumnya.
Untuk melihat halaman login ini, bukalah http://localhost/belajar/login.php pada browser.
Kode diatas akan melakukan pengecekan terhadap inputan user yang
berupa username dan password apakah username dan password terdaftar atau
tidak dalam database. Penjelasan kode program sudah saya sertakan dalam
baris-baris komentar pada kode program tersebut.
Sampai disini, sistem login sudah dapat digunakan. Cobalah buka halaman login dengan membuka http://localhost/belajar/login.php pada browser. Kemudian masukkan username dan password yang sudah dibuat pada tutorial sebelumnya. Coba juga untuk memasukkan berbagai kondisi yang berbeda seperti memasukkan username dan password yang salah, mengosongkan field username ataupun password, ataupun mengosongkan keduanya untuk menguji sistem otentikasi yang dibuat.
Sistem login memang sudah berhasil, namun jika hanya sampai tahap ini saja maka fungsi login belum berfungsi maksimal karena user masih dapat masuk kedalam aplikasi tanpa harus login terlebih dahulu. Cobalah buka http://localhost/belajar/. Halaman tersebut masih dapat diakses tanpa harus login terlebih dahulu karena kita belum membuat otentikasi pada setiap halaman apakah user harus login terlebih dahulu atau tidak untuk mendapat akses ke setiap halaman.
Untuk dapat membuat otentikasi pada setiap halaman, kita menggunakan
session untuk menyimpan data username dari user yang telah login. session_start() digunakan
untuk membuat session baru (jika session belum dibuat) ataupun
melanjutkan session (jika session sudah dibuat sebelumnya). Kemudian
data username disimpan dalam session ini dengan menggunakan perintah $_session['username'] = $username yang
berarti menyimpan data username kedalam session dengan nama session
adalah username. Selanjutnya, data session inilah yang akan selalu kita
gunakan untuk men-cek apakah user sudah login atau belum.
Untuk melakukan pengencekan, buat dokumen baru dan ketikkan kode berikut. Kemudian simpan dengan nama cek-login.php.
Kemudian kita harus meng-include kan file cek-login.php ini pada file-file yang hanya boleh diakses setelah user login (index.php, edit.php, dan view.php).
Cobalah buka halaman index.php, edit.php, dan view.php pada
browser. Jika anda belum login, maka anda akan secara otomatis
dialihkan ke halaman login. Setelah login, cobalah untuk membuka halaman
login.php. Masih dapat dibuka? Meskipun anda sudah login? Ya, kita belum membuat pengecekan login pada halaman login itu sendiri.
Tambahkan kode berikut pada file login.php.
Sekarang cobalah buka halaman login.php. Jika anda sudah login, maka anda akan dialihkan ke halaman index.php.
Kemudian buat link ke file logout.php pada halaman index.php.
Sekarang, sistem login sudah selesai dibuat. Cobalah untuk login dan
logout dengan mencoba-coba berbagai kombinasi username dan password.
Berikut saya tampilkan kembali struktur database dari tutorial sebelumnya.
Fieldname | Datatype |
---|---|
user_id | int(4), PRIMARY, AUTO INCREMENT |
username | varchar(20) |
password | varchar(255) |
varchar(100) | |
fullname | varchar(100) |
agama | varchar(15) |
no_hp | bigint(14) |
Langkah 1 – Form Login
Buat form login dengan mengetikkan kode berikut. Kemudian simpan pada folder yang sama dengan tutorial sebelumnya (folder belajar) dengan nama login.php.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
| < html > < head > < title >LOGIN</ title > </ head > < body > < h1 >LOGIN</ h1 > <? php //kode php ini kita gunakan untuk menampilkan pesan eror if (!empty($_GET['error'])) { if ($_GET['error'] == 1) { echo '<h3>Username dan Password belum diisi!</ h3 >'; } else if ($_GET['error'] == 2) { echo '< h3 >Username belum diisi!</ h3 >'; } else if ($_GET['error'] == 3) { echo '< h3 >Password belum diisi!</ h3 >'; } else if ($_GET['error'] == 4) { echo '< h3 >Username dan Password tidak terdaftar!</ h3 >'; } } ?> < form name = "login" action = "otentikasi.php" method = "post" > < table border = "0" cellpadding = "5" cellspacing = "0" > < tr > < td >Username</ td > < td >:</ td > < td >< input type = "text" name = "username" /></ td > </ tr > < tr > < td >Password</ td > < td >:</ td > < td >< input type = "password" name = "password" /></ td > </ tr > < tr align = "right" > < td colspan = "3" >< input type = "submit" name = "login" value = "Login" /></ td > </ tr > </ table > </ form > </ body > </ html > |
Langkah 2 – Otentikasi Login
Setelah membuat form login, kita harus membuat sebuah file untuk memproses data login yang dimasukkan user apakah valid atau tidak. Ketikkan kode berikut dan simpan dengan nama otentikasi.php.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
| <?php include ( 'config.php' ); //tangkap data dari form login $username = $_POST [ 'username' ]; $password = $_POST [ 'password' ]; //untuk mencegah sql injection //kita gunakan mysql_real_escape_string $username = mysql_real_escape_string( $username ); $password = mysql_real_escape_string( $password ); //cek data yang dikirim, apakah kosong atau tidak if ( empty ( $username ) && empty ( $password )) { //kalau username dan password kosong header( 'location:login.php?error=1' ); break ; } else if ( empty ( $username )) { //kalau username saja yang kosong header( 'location:login.php?error=2' ); break ; } else if ( empty ( $password )) { //kalau password saja yang kosong //redirect ke halaman index header( 'location:login.php?error=3' ); break ; } $q = mysql_query( "select * from user where username='$username' and password='$password'" ); if (mysql_num_rows( $q ) == 1) { //kalau username dan password sudah terdaftar di database header( 'location:index.php' ); } else { //kalau username ataupun password tidak terdaftar di database header( 'location:login.php?error=4' ); } ?> |
Sampai disini, sistem login sudah dapat digunakan. Cobalah buka halaman login dengan membuka http://localhost/belajar/login.php pada browser. Kemudian masukkan username dan password yang sudah dibuat pada tutorial sebelumnya. Coba juga untuk memasukkan berbagai kondisi yang berbeda seperti memasukkan username dan password yang salah, mengosongkan field username ataupun password, ataupun mengosongkan keduanya untuk menguji sistem otentikasi yang dibuat.
Sistem login memang sudah berhasil, namun jika hanya sampai tahap ini saja maka fungsi login belum berfungsi maksimal karena user masih dapat masuk kedalam aplikasi tanpa harus login terlebih dahulu. Cobalah buka http://localhost/belajar/. Halaman tersebut masih dapat diakses tanpa harus login terlebih dahulu karena kita belum membuat otentikasi pada setiap halaman apakah user harus login terlebih dahulu atau tidak untuk mendapat akses ke setiap halaman.
Langkah 3 – Otentikasi pada file-file lain
Agar setiap halaman hanya dapat diakses setelah login, kita perlu menambahkan beberapa baris kode pada file otentikasi.php seperti berikut.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| <?php include ( 'config.php' ); session_start(); ... if (mysql_num_rows( $q ) == 1) { //kalau username dan password sudah terdaftar di database //buat session dengan nama username dengan isi nama user yang login $_SESSION [ 'username' ] = $username ; //redirect ke halaman index header( 'location:index.php' ); } else { ... |
Untuk melakukan pengencekan, buat dokumen baru dan ketikkan kode berikut. Kemudian simpan dengan nama cek-login.php.
1
2
3
4
5
6
7
8
9
| <?php session_start(); //jika session username belum dibuat, atau session username kosong if (!isset( $_SESSION [ 'username' ]) || empty ( $_SESSION [ 'username' ])) { //redirect ke halaman login header( 'location:login.php' ); } ?> |
1
2
3
| <?php include ( 'cek-login.php' ); ?> |
Tambahkan kode berikut pada file login.php.
1
2
3
4
5
6
7
8
9
10
| <?php session_start(); if (! empty ( $_SESSION [ 'username' ])) { header( 'location:index.php' ); } ?> <html> <head> ... |
Langkah 4 – Logout
Sekarang kita buat file untuk logout. Karena kita menggunakan session untuk menyimpan variabel yang digunakan dalam validasi login, maka untuk logout, kita cukup menghapus session yang digunakan. Ketikkan kode berikut dan simpan dengan nama logout.php.
1
2
3
4
5
6
7
8
9
10
| <?php //lanjutkan session yang sudah dibuat sebelumnya session_start(); //hapus session yang sudah dibuat session_destroy(); //redirect ke halaman login header( 'location:login.php' ); ?> |
1
2
3
4
5
6
7
| </ table > </ form > < a href = "view.php" >Lihat Data</ a > || < a href = "logout.php" >Logout</ a > </ body > </ html > |
Membuat Sistem Login Sederhana Dengan PHP
9 Out Of 10 Based On 10 Ratings. 9 User Reviews.
Anda baru saja membaca artikel yang berkategori artikel komputer
dengan judul Membuat Sistem Login Sederhana Dengan PHP. Anda bisa bookmark halaman ini dengan URL http://pimituhhrasfah.blogspot.com/2013/01/tutorial-kali-ini-saya-ingin-membahas.html. Terima kasih!
Ditulis oleh:
Pimituhhrasfah - Sabtu, 19 Januari 2013
Belum ada komentar untuk "Membuat Sistem Login Sederhana Dengan PHP"
Posting Komentar
Warning !!!
Komentar anda tidak boleh mengandung unsur :
1. Penghinaan,Rasis atau Pelecehan
2. Spamming (Spam Coments)
3. Link Iklan,Ads,etc
4. Link aktif atau text anchor dan sejenisnya.
Tulislah setiap kata dengan penuh makna kesopanan.
Salam sejahtera Pimituhhrasfah