Sistem Login Sederhana

bg_date8.jpgbg_date8.jpgbg_date8.jpgbg_date8.jpgbg_date8.jpgbg_date8.jpgbg_date8.jpg

sistem login sederhana pada codeigniter,akhirnya nambah juga ilmu tentang codeigniter

setelah bisa mengkonfigurasi dan menjalan kan program tutorial pembuatan blog,yang disediakan di codeigniter.com ga ada salahnya untuk belajar membuat sistem login sederhana dengan codeigniter.

artikel ini di copy dari blog oleh Harry Yunanto

Halaman login adalah halaman untuk melakukan login, biasanya digunakan untuk melindungi sebuah halaman agar tidak semua orang bisa mengaksesnya. Pada halaman login pengunjung akan diminta memasukan, biasanya, nama user dan password, kemudian akan dilakukan verifikasi apakah user dan password yang dimasukan sudah betul atau belum.

Untuk membuat sebuah halaman login sebenarnya mudah saja. Bisa memanfaatkan cookie atau session. Saya sendiri lebih suka menggunakan session untuk melindungi sebuah halaman.

Cara kerjanya seperti ini. Pada setiap halaman yang ingin dilindungi kita lakukan pengecekan terhadap session yang kita tentukan. Jika session ada dan nilainya sesuai maka halaman boleh diakses. Jika session tidak ada maka pengunjung akan dilemparkan ke halaman login.

Untuk user kita buat sebuah tabel dengan nama user yang memiliki 3 buah field, yaitu : id (tipe data : integer), nama (tipe data : varchar) dan password (tipe data : varchar). Password disimpan dalam bentuk enkripsi md5.

Buat sebuah halaman untuk login, misalnya dengan nama admin.php :

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”&gt;
<html xmlns=”http://www.w3.org/1999/xhtml”&gt;

<head>
<title>Halaman login</title>
</head>
<body>
<h4>Login Administrator</h4></center>
<form method=”post” action=”admin_cek.php” name=”formAdmin”>
<table align=”center”>
<tr><td>Username</td><td><input type=”text” name=”user” /></td></tr>
<tr><td>Password</td><td><input type=”password” name=”passw” /></td></tr>
<tr><td></td><td><input type=”submit” name=”ok” value=”Ok” /></td></tr>
</table>
</form>
</body>
</html>

Kemudian buat file untuk melakukan login dengan nama admin_cek.php.

require_once “login.php”;
$login = new Login();
$login->koneksi();

if($login->lakukan_login($_POST[“user”],$_POST[“passw”])) {
header(“Location:inputData.php”);
} else {
echo “Gagal login”;
}

admin_cek.php membutuhkan file login.php dimana didalam file tersebut berisi class dan fungsi-fungsi untuk melakukan login.

<?php
class Login {
function koneksi() {
$host = “localhost”;
$user = “root”;
$passw = “”;
$db = “[nama_database]”;
$koneksi = @mysql_connect($host,$user,$passw);
if($koneksi) {
@mysql_select_db($db);
return TRUE;
} else {
return FALSE;
}
}

function lakukan_login($user = “admin”,$pass = “admin”,$table = “user”) {
$sql = “SELECT id FROM “.$table.” WHERE nama='”.$user.”‘ AND password='”.md5($pass).”‘”;
$query = mysql_query($sql);
$data = mysql_fetch_assoc($query);

$_SESSION[“id”] = $data[“id”];

mysql_free_result($query);
return TRUE;
}

function cek_login() {
if(isset($_SESSION[“id”])) {
$sql = “SELECT count(id) FROM user WHERE id='”.$_SESSION[“id”].”‘”;
$query = mysql_query($sql);

list($jumlah) = mysql_fetch_row($query);
return TRUE;
} else {
return FALSE;
}
}
}
?>

Fungsi koneksi() adalah fungsi yang digunakan untuk melakukan koneksi ke basis data, jika koneksi berhasil diteruskan dengan memilih nama database yang akan digunakan.

@mysql_select_db($db);

Jika berhasil akan mengembalikan nilai TRUE tetapi jika gagal akan mengembalikan nilai FALSE.

Fungsi lakukan_login() adalah fungsi yang digunakan untuk melakukan login. Jika tidak ada parameter yang diberikan maka secara default variabel $user bernilai “admin” variabel $pass bernilai “admin” dan variabel $tabel bernilai “user”. Query select yang dilakukan hanya mengambil nilai id saja. Kemudian nilai id ini dimasukan kedalam $_SESSION[“id”]. Session inilah yang akan dicek pada setiap halaman yang ingin dilindungi.

Fungsi cek_login() digunakan untuk mengecek apakah $_SESSION[“id”] ada atau tidak dan apakah nilai session tersebut ada atau tidak didalam tabel user. Sehingga untuk setiap halaman yang ingin dilindungi cukup berikan beberapa baris kode berikut :

session_start();
require_once “login.php”;
$login = new Login();
$login->koneksi();
if($login->cek_login()) {
// $_SESSION[“id”] benar atau ada
} else {
// $_SESSION[“id”] salah atau tidak ada
}

Sedangkan untuk melakukan logout, buat sebuah file dengan nama logout.php

session_start();
if(isset($_SESSION[“id”])) {
session_destroy();
}

di copy from http://blog.iorme.net/

Comments
4 Responses to “Sistem Login Sederhana”
  1. doez` mengatakan:

    thank’s

  2. Farid Racmansyah mengatakan:

    apa metode ini bisa diaplikasikan pada CMS wordpress juga?

    krida write: menurut saya CMS wordpress sudah powerfull, dan tidak perlu menggunakan motode seperti ini

  3. doez mengatakan:

    OK THX BOS

  4. doez mengatakan:

    OK THX

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: