Skip to main content

Membuat authentikasi (login, register, lupa password)

May 14, 2008 by hery

hery's picture

Halo teman-teman milis saya mau tanya gimana cara membuat sistem authentikasi di codeigniter. Terimakasih

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

lupa password

January 22, 2011 by samsung, 30 weeks 6 days ago
Comment: 7551

samsung's picture

Mass kalo lupa password gmn y??
:((

mas,minta koding untuk lupa

May 9, 2011 by think, 15 weeks 4 days ago
Comment: 8136

think's picture

mas,minta koding untuk lupa password nya??mohon bantuannya

Wiki

March 2, 2010 by noocom, 1 year 25 weeks ago
Comment: 6007

noocom's picture

Di wiki ada beberapa library buat authentikasi yang bagus tuh.
Yang sudah ku coba Freakauth light, sangat kompleks, ada halaman adminnya juga, bisa forgot password dsb TRY it.
Trus yang pengembangan dari Freakauht light yaitu DXauth. Yang ini kompleks juga, meskipun pengembangan dari FAL tapi konsep permissionnya berbeda, COBA aja.

Form Login

April 5, 2009 by aniteda86, 2 years 20 weeks ago
Comment: 1523

aniteda86's picture

1. Buat fungsi login ini di controller

function login()
{		
	$fields['username'] = "Username";
	$fields['password'] = "Password";
	$this->validation->set_fields($fields);
 
	if($this->input->post("login"))
	{
		$rules['username']	= "trim|required";
		$rules['password'] 	= "trim|required|callback_login_check";
		$this->validation->set_rules($rules);
 
		if($this->validation->run() == FALSE)			
		{
                        // gagal login dan kembali ke form login
			$data=$this->home_model->form_login();		
			$this->load->view('login',$data);
		}
		else 
		{		
                        // berhasil login			
			$data=$this->home_model->halaman_admin();		
			$this->load->view('halaman_admin',$data);
		}	
	}else			
	{	
                // tampilkan form login
		$data=$this->home_model->form_login();		
		$this->load->view('login',$data);
	}
}

2. Buat fungsi login_check di controller untuk mengecek user dan password

function login_check()
{		
	$usrid	= $this->db->escape_str($this->input->post("username"));
	$passwd =md5($this->input->post("password"));
	$query	= $this->db->query("select * from usr where login='$usrid' and passwd='$passwd'");
	$count		= $query->num_rows();
	if($count>0)
	{
		foreach($query->result() as $row)
		{
			if($row->disabled=='TRUE')
			{
				$this->validation->set_message('login_check', 'Silahkan aktifasi dahulu !');
				return FALSE;
			}else{
				$this->session->set_userdata('usrid',$row->usrid);		
				return TRUE;
			}
		}
	}else{
		$this->validation->set_message('login_check', 'Access denied');
		return FALSE;
	}
}

Keterangan:
- Pada setiap validasi password saya tambahkan perintah untuk memanggil fungsi login_check. Fungsi ini mengecek user dan password. Jika berhasil akan mengembalikan nilai TRUE dan jika gagal mengembalikan nilai FALSE
- Di dalam fungsi login_check terdapat script $this->db->escape_str(). Script ini di gunakan agar halaman login kita tidak bisa di sql injection. Biasanya sql injection selalu memberikan tanda petik atau tanda kutip pada textfield username dan password sedangkan script tadi secara otomatis menambahkan tanda \' \' agar sql injection tidak bisa jalan.
- Di dalam fungsi login_check ini juga melakukan set session.

nice try

January 14, 2010 by 333rock333, 1 year 31 weeks ago
Comment: 5838

333rock333's picture

its a good one from you like that plus one more that Konsep MVC merupakan problem testking 000-206 solving untuk memisahkan kerumitan dengan standard PHP testking 642-426 coding.
Model yang dikhususkan untuk menangani testking HP0-J24 hubungan dengan Database.
View dikhususkan untuk tampilan.

minta filenya dong

April 30, 2009 by dhaye, 2 years 16 weeks ago
Comment: 2498

dhaye's picture

mas contoh buat modelnya (home_model) mana...?
klo bisa dengan viewnya mas supaya semuanya ngerti....
yh namanya juga kelas pemula...
he... he... he...
mas minta tolong nie...
kalo bisa kirimin file di emailnya yah....
[email protected]

sebelumnya makasih banyak mas atas ilmunya....

Mudah banget bikin

April 1, 2009 by mul14, 2 years 21 weeks ago
Comment: 1006

mul14's picture

Mudah banget bikin authentifikasi dengan CI. Cuma code nya agak panjang. Konsep nya mirip dengan yang diceritakan "Anonymous".

Di contoh ini, ganti semua <* menjadi <?. Dan *> menjadi ?>. Di contoh ini aku pake PHP5 yang bisa menggunakan chaining.

Pertama bikin dulu form untuk login.

<* echo $this->session->get("error") ? $this->session->get("error") : "" *>
<form method="post" action="<* echo site_url("login") *>">
  <input type="text" name="username" />
  <input type="password" name="password" />
</form>

Lalu buat class Login.

class Login extends Controller {
  function __construct() {
    parent::Controller();
  }
  function index() {
    $username = $this->input->post("username");
    $password = $this->input->post("password");
 
    // Table users berisi username dan password tiap user.
    $query = $this->db->from("users")->where("username", $username)->where("password", $password)->limit(1);
    if ($query->count() == 1) {
      // Berhasil login
      $this->session->set("username", $username);
    } else {
      // Gagal login
      $this->session->set_flash("error", "Gagal login bro");
    }
    redirect("home");
  }
}

Oh yaa... beberapa helper mungkin perlu diaktifkan manual. Ato aktifkan selalu di config/autoload.php

di email dong mas...

April 5, 2009 by dhaye, 2 years 20 weeks ago
Comment: 1504

dhaye's picture

"... salam kenal..."
mas saya baru belajar CI n pemrograman PHP, saya minta dikirimin contohnya dong mas.....!!!:)
g usah file phpnya mas, yh paling g tutorial n penjelasannya gmn mas...!!!
dengan databasenya yh mas, slnya rencananya saya mau buat TA aplikasi berbasis CI...

nanti email di [email protected] atau [email protected]

makasih sebelumnya mas. :)

Membuat Authentifikasi

May 25, 2008 by aataqwa, 3 years 13 weeks ago
Comment: 25

aataqwa's picture

saya juga lagi coba migrasi dari smarty template engine ke codeigniter.
klo saya udah success develop dg codeigniter tar insyaalloh bagi2 dech :D

gampang aja gitu aja kok repot!!

May 31, 2008 by Anonymous, 3 years 12 weeks ago
Comment: 28

Anonymous's picture

untuk bikin login..anda harus bisa punya logic design mengenai user previlage dulu mau seperti apa..terus lo bikin dah..controller login.php + /views/view.php + model/loginDB.php
kalau mau contoh login yg gue bikin pake xajax email aja ke ---> [email protected]
ntar gue kasih dahhhh!!!!..

"MARI MENCERDASKAN BANGSA"
http://www.gema-fajar.com

saya juga mas di emailin....

March 22, 2009 by Anonymous, 2 years 22 weeks ago
Comment: 249

Anonymous's picture

hampir sama mas dengan comment yang tadi....
saya dibantu yah mas, tolong kirimin contoh login, register, dan forget password...n penjelasannya juga yah mas....
sama settingan sessionnya gmn..?
terima kasih mas sebelumnya..

nanti email disini aja.... [email protected] or [email protected]
thanks....

Tolong di emailin...yah!

March 22, 2009 by Anonymous, 2 years 22 weeks ago
Comment: 248

Anonymous's picture

mas tolong di emaili dong gmn cara buat form login, register ma forget password....
kalo bisa dengan penjelasannya yah mas...n sekalean juga sessionnya gmn.....?

makasih yah mas......

masih bingung tentang session

August 23, 2008 by ahnShev, 3 years 2 days ago
Comment: 63

ahnShev's picture

waah...mas Anonymous, kok ngga' dipost di sini aja skalian mas. kan biar yg lain juga tau.. trmasuk saya. hehe
masih bingung ni, gimana cara memanfaatkan session di CodeIgniter. mohon pencerahannya ya.. :)

Premium Drupal Themes by Adaptivethemes