Rabu, 21 Oktober 2009

. Rabu, 21 Oktober 2009

PHP: Login dan Logout Memanfaatkan Session

2 Votes
Quantcast

Tutorial super-singkat ini memperlihatkan cara membuat aplikasi kecil di PHP yang berguna menangani Login dan Logout. Jika login berhasil, tentunya dengan memeriksa kecocokan username dan password maka sistem mengaktifkan variabel Session untuk pengguna yang berhasil login tersebut dan dapat mengakses halaman lain di dalam sistem. Jika pengguna Logout maka variabel Session di hapus dan otomatis tidak ada halaman yang dapat diakses oleh pengguna tersebut, kecuali halaman login.

Tutorial ini memerlukan 2 file PHP dan 1 tabel pada database server MySQL:

>> file index.php, file yang menangani Login dan Logout.
>> main.php, file yang menjadi target ketika login dinyatakan OK
>> Database tutorial dan tabel admin yang terdiri dari 3 field yaitu id (auto_increment), username (varchar 50), dan password (varchar 32). Field password dirancang untuk menggunakan mekanisme keamanan password md5().


Tambahkan satu baris (record) ke dalam tabel admin, misalnya “admin” utuk field username dan “1234” untuk password. Jangan lupa menggunakan fungsi md5() terhadap password. Paling mudah adalah memanfaatkan tool seperti PHPMyAdmin.

index.php

File ini terdiri dari 3 bagian penting, yaitu:

>> Form Login yang mengandung 2 field: “username” dan “password” dan sebuah tombol submit “Login”.
>> Program Otorisasi Login. Bagian ini memeriksa hasil submit dari form, jika username dan password valid maka halaman ini di-redirect ke main.php. Jika tidak maka tampilkan pesan kesalahan usernama atau password.
>> Logout. Di sini dilakukan pembersikan session login dan me-refresh halaman login.

01.
02.// gunakan variabel session pada halaman ini.
03.// fungsi ini harus diletakkan di awal halaman.
04.session_start();
05.
06.////// Bagian Logout. Delete variabel session.
07.session_destroy();
08.$message="";
09.
10.////// Bagian Login.
11.$Login=$_POST['Login'];
12.
13.if($Login){ // jika tombol Login diklik.
14. $username=$_POST['username'];
15. // Encrypt password dengan fungsi md5().
16. $md5_password=md5($_POST['password']);
17.
18. // Connect ke database.
19. $host="localhost"; // Host name.
20. $db_user=""; // MySQL username.
21. $db_password=""; // MySQL password.
22. $database="tutorial"; // Database.
23. mysql_connect($host,$db_user,$db_password);
24. mysql_select_db($database);
25.
26. // Cocokkan username dan password.
27. $result=mysql_query("select * from admin where username='$username' and password='$md5_password'");
28.
29. // Jika cocok.
30. if(mysql_num_rows($result)!='0'){
31. session_register("username"); // buat session username.
32. header("location:main.php"); // Re-direct ke main.php
33. exit;
34. } else{ // Jika tidak cocok.
35. $message="--- Username atau Password SALAH---";
36. }
37.} // akhir dari otorisasi Login.
38.
39.?>
41.
42."Content-Type" content="text/html; charset=utf-8" />
43.Halaman Login
44.
45.
46.echo $message; ?>
47.
"form1" name="form1" method="post" action="">
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
Username : "username" type="text" id="username" />
Password : "password" type="password" id="password" />
59.
60."Login" type="submit" id="Login" value="Login" />
61.
62.
63.

main.php

File ini merupakan target ketika pemeriksaan otorisasi pada file index.php dinyatakan sah (valid). Di sini dilakukan pemeriksaan nama variabel session “username”. Jika variabel ini tidak ada, dilakukan redirect ke halaman index.php.

Note: Jika kita mengharus pengguna Login sebelum mengakses suatu file PHP, maka anda dapat menyalin bagian PHP di bawah ini dan letakkan dibagian atas file PHP yang aksesnya hanya untuk pengguna yang login tersebut.

01.
02.// Bagian PHP ini dapat disalin ke bagian atas file yang memerlukan akses setelah login.
03.
04.// Gunakan variabel session pada halaman ini
05.//Fungsi ini harus diletakkan pada bagian atas halaman.
06.session_start();
07.
08.// jika variabel session "username" tidak ada.
09.if(!session_is_registered("username")){
10. // Re-direct ke index.php
11. header("location:index.php");
12.}
13.?>
14.
16.
17."Content-Type" content="text/html; charset=utf-8" />
18.Halaman Utama
19.
20.
21.

Halo bos echo $_SESSION['username']; ?>! Anda berhasil Login. Selamat datang di sini.

23.
24.

OK, demikian saja ya, semoga bermanfaat bagi pemula di pemrograman web dengan PHP.

 

Pengikut

About Me

{assoka jepara} is proudly powered by dirubah oleh assoka | Template by Agus Ramadhani | assoka