Cara mudah belajar pemrograman komputer

Kamis, 12 Maret 2015

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
<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

Popular Posts

Recent Posts

Unordered List

Pages

Kunjungan

Diberdayakan oleh Blogger.