Cara membuat sistem login sederhana dengan php
Halo sobat programmer, kembali dengan tulisan-tulisan dari programmer goblog.
Kali ini kita akan belajar cara membuat sistem login sederhana dengan PHP.
Dalam tulisan ini saya mengasumsikan bahwa anda sudah mengerti tentang konsep web server, memahami sedikit tentang html dan php.
Pada tulisan ini kita tidak akan berfokus pada bahasa pemrogramanya, kita akan lebih berfokus pada logika dan cara bekerja sistem ini.
Kita akan membuat empat file php diantaranya index.php yang akan menjadi halaman login utama, kemudian halaman home.php yang merupakan halaman yang hanya dapat diakses ketika user telah berhasil login, login-handler.php yang berfungsi untuk menangani proses login yang terjadi, dan halaman logout.php yang akan menangani proses logout.
Secara keseluruhan proses yang akan terjadi pada sistem login ini adalah sebagai berikut.
1. user mengakses index.php yang akan menampilkan form login
2. user menginput username beserta password pada halaman tersebut
3. sistem akan mengecek apakah username dan password sesuai, jika ya sistem akan menampilkan pesan berhasil beserta link untuk menuju halaman utama.php serta menyimpan data login pada session, jika tidak sistem akan menampilkan pesan error beserta link untuk kembali ke halaman login.
5. pada saat user melakukan proses logout maka sistem akan menghapus semua data yang ada di session.
Jangan lupa untuk membuat database dengan nama login dengan field "username" dan "password".
Kali ini kita akan belajar cara membuat sistem login sederhana dengan PHP.
Dalam tulisan ini saya mengasumsikan bahwa anda sudah mengerti tentang konsep web server, memahami sedikit tentang html dan php.
Pada tulisan ini kita tidak akan berfokus pada bahasa pemrogramanya, kita akan lebih berfokus pada logika dan cara bekerja sistem ini.
Kita akan membuat empat file php diantaranya index.php yang akan menjadi halaman login utama, kemudian halaman home.php yang merupakan halaman yang hanya dapat diakses ketika user telah berhasil login, login-handler.php yang berfungsi untuk menangani proses login yang terjadi, dan halaman logout.php yang akan menangani proses logout.
Secara keseluruhan proses yang akan terjadi pada sistem login ini adalah sebagai berikut.
1. user mengakses index.php yang akan menampilkan form login
<html> <head> <title></title> <style type="text/css"> #form{ /* #form adalah selector id untuk <div id="form" */ min-width:200px; /* lebar minimal */ max-width:200px; /* lebar maksimal */ min-height:100px; /* tinggi minimal */ background:blue; /* warna bg */ padding:10px; /* jarak batas luar kedalam */ margin:0 auto; /* jarak atas 0 samping kiri kanan otomatis (bikin ketengah) */ margin-top:100px; /* kasih jarak keatas */ } input{ width:100%; } #btn-login{ width:auto; margin-top:10px; } </style> </head> <body> <div id="form"> <form action="login-handler.php" method="post"> <input type="text" name="username" placeholder="username"><br> <input type="password" placeholder="password" name="password"><br> <input id="btn-login" type="submit" value="login"> </form> </body> </html> <!-- keterangan alur 1. masuk ke halaman index.php 2. klik login masuk ke halaman login-handler.php melalui <form action="login-handler.php" 3. di halaman login handler, cek login berhasil atau tidak ------------------------------ -> penjelasan selanjutn ya di halaman login-handler.php -->
2. user menginput username beserta password pada halaman tersebut
3. sistem akan mengecek apakah username dan password sesuai, jika ya sistem akan menampilkan pesan berhasil beserta link untuk menuju halaman utama.php serta menyimpan data login pada session, jika tidak sistem akan menampilkan pesan error beserta link untuk kembali ke halaman login.
<?php session_start(); //start session php $username=$_POST['username']; // ambil kiriman dari form login (index.php) dan masukkan ke variable $username $password = $_POST['password']; // ambil kiriman dari -----------sda----------------------- variable $password /* ------------------------------------------------------ Berikut adalah baris kode yang digunakan untuk berinteraksi dengan database. --------------------------------------------------------- */ $dbhost = 'localhost'; //alamat host mysql database $dbusername = 'root'; //username untuk mysql database $dbpassword = ''; //password untuk mysql database $dbdatabasename = 'login'; //nama database yang akan digunakan $connection = mysql_connect($dbhost,$dbusername,$dbpassword); if(!$connection) { //periksa apakah koneksi berhasil, jika gagal tampilkan pesan error dan terminate program die("koneksi database gagal, periksa setting dan atau mysql server anda"); }else{//jika koneksi berhasil maka lanjutkan untuk memilih database $db = mysql_select_db($dbdatabasename); if(!$db){ die("Database dengan nama $dbdatabasename tidak ditemukan"); }else{ //jika database ada dan terhubung dengan sukses, lanjutkan ke tahap pemeriksaan username dan password di database. $query = mysql_query("select * from user where username='$username' and password='$password' "); $jumlahUserDenganUsernameDitemukan=mysql_num_rows($query); if($jumlahUserDenganUsernameDitemukan>0){ // username hasil ambil dari database lebih dari 0 artinya login berhasil. $_SESSION['username'] = $username; // daftarkan session usrename echo "Login berhasil "; // cetak tulisan login berhasil ke layar echo '<a href="home.php">Klik disini untuk menuju halaman utama</a>'; //cetak link untuk menuju halaman utama (home.php) }else{ // kalau login gagal echo "username atau password salah"; // cetak text ke layar echo '<a href="index.php">Login disini</a>'; // cetak link ke index.php agar user login terlebih darhulu. } } } ?>4. pada halaman home.php proses yang terjadi pertama kali adalah memeriksa apakah user telah login dengan benar atau belum melalui data yang tersimpan di session, jika ya maka halaman utama.php akan tampil, jika tidak maka sistem akan menampilkan pesan yang meminta user untuk login terlebih dahulu serta menampilkan link untuk menuju halaman login.
<?php session_start(); // daftarkan session di browser if(isset($_SESSION['username'])){ //cek apakah ada session username echo "Selamat datang ".$_SESSION['username']; // kalau session ada berarti telah login echo "<br>"; echo '<a href="logout.php"> Logout</a>'; // cetak link untuk logut (mengarah ke logout.php) }else{ // kalau tidak ada berarti belum login echo "anda harus login untuk melihat halaman ini "; // beritahu user agar login echo '<a href="index.php">Login disini</a>'; // cetak link ke halaman login (index.php) agar user login terlebih dahulu } ?>
5. pada saat user melakukan proses logout maka sistem akan menghapus semua data yang ada di session.
<?php session_start(); session_destroy(); // destroy session . hapus session username yang telah di register pada saat login berhasil echo "adnda telah logout dari applikasi"; // notifi user bahwa telah keluar (logout) echo "<br>"; echo '<a href="index.php">Klik disini untuk kemabali ke halaman login</a>'; // cetak link untuk user kembali ke halaman logina ?>
Jangan lupa untuk membuat database dengan nama login dengan field "username" dan "password".
0 komentar:
Posting Komentar