Jumat, 09 Oktober 2015

PHP - membuat login session


Pengertian Session dan fungsinya ...

Sepintas Tentang Session Saat berinternet, kita tentu sering menjumpai situs yang mengharuskan pengunjung melakukan login terlebih dahulu agar dapat mengakses informasi mereka. Misalnya saja pada situs e-mail, disitu kita perlu mengisikan user name dan password sebelum mengakses email, kemudian melakukan logout setelah selesai. Pada PHP terdapat fitur bernama session handling yang bisa dipakai untuk keperluan otentikasi seperti di atas. Pada dasarnya session adalah cara untuk menjaga suatu variabel tetap ada selama sesi kunjungan user. Meskipun berpindah-pindah halaman, variabel session tetap ada dan bisa diakses sampai session ditutup. Fasilitas session handling ini baru ada secara built-in mulai PHP versi 4.

PHP mempunyai session (catatan aktivitas) yang digunakan untuk menjaga / memelihara informasi akses dari seorang pengakses / pemakai aplikasi web. Session memungkinkan pelacakan akses pemakai, pangaturan pemakaian aplikasi oleh pemakai dan meningkatkan layanan situs web. Setiap pengunjung akan diberi sebuah id yang unik, yang disebut dengan id session (session_id). ID ini dapat disimpan dalam suatu cookie pada sisi user atau disertakan dalam URL. Session koneksi antara klien dan server akan hilang atau putus apabila browser ditutup. Apabila browser dijalankan kembali dan koneksi ke server dilakukan maka dianggap sebagai koneksi baru.

Pertama tama kita membuat database seperti berikut : 



contoh :
nama database : db_login
nama table : useradmin
field password digambar yg telah di rubah menjadi MD5

Kedua perhatikan posisi file dan folder yang nanti akan kita buat :


disini terdapat 3 file diluar folder koneksi, dan 1 file folder didalam koneksi :

Ketiga buatlah file config.php untuk mengkoneksikan database kita :

<?php
mysql_connect("localhost","root","");
$con = mysql_select_db("db_login");
?>

Keempat buatlah file login.php dengan berisikan script sebagai berikut ini :

<?php
            session_start();
            include "koneksi/config.php";
function anti_injection($data){
$filter = stripslashes(strip_tags(htmlspecialchars($data,ENT_QUOTES)));
return $filter;
}
            if(isset($_POST['btn-login']))
            {
            $uname = anti_injection($_POST['username']);
            $pass = anti_injection($_POST['password']);
             if($uname == '' || $pass == '' )
             {
               ?>
                <script type="text/javascript">alert("Username atau Password tidak Boleh Kosong");</script>
               <?php  
             }
             else
             {
               $sql = mysql_query("SELECT * FROM useradmin where username = '$uname' and password = md5('$pass')");
               $data = mysql_fetch_array($sql);
               $cek = mysql_num_rows($sql);
               if ($cek >= 1) 
               {
                     $_SESSION['id_user'] = $data['id'];
                     $_SESSION['nama_user'] = $data['nama_admin'];
                ?>
                    <script type="text/javascript">window.location.replace("index.php");</script>
                <?php
               }
                   
               else
               {
                 ?>
                  <script type="text/javascript">alert("Username atau Password Salah !!!");</script>
                 <?php
               }
             }
            }    
          if(isset($_SESSION['id_user'])){
            header("location: index.php");
          }
          else{
?>
<!DOCTYPE html>
<html>
  <head>
    <title>Nyekrip Form Login</title> 
  </head>
  <body>
     <form action="" method="post">
<h2>Login Administrator</h2><hr/>
<label>Username :</label>
<input name="username" placeholder="username" type="text">
<label>Password :</label>
<input name="password" placeholder="**********" type="password">
<input type="submit" name="btn-login" value="Login">
 </form>
  </body>
</html>
<?php } ?>
Setelah itu buat file index.php dengan script sebagai berikut :

<?php
session_start();
if(isset($_SESSION['id_user'])){
echo "halo admin ".$_SESSION['nama_user'];
echo "<br>";
echo "<a href='logout.php'>Log Out</a>";
} else {
header("location:login.php");
}
?>
Kemudian buat file logout.php dengan berisikan file sebagai berikut :

<?php
session_start();
if(session_destroy()) // Menghapus Sessions
{
header("Location: index.php"); // Langsung mengarah ke Home index.php
}


?>

dan coba jalankan di browser, inilah hasilnya :







nah mudah bukan, selamat mencoba :)

jika ingin mencoba scriptnya langsung, bisa di download disini


=========Terima Kasih==============

0 komentar:

Posting Komentar