Kamis, 11 Oktober 2012

Membuat Form Login Dengan Codeigniter

 

Setelah selesai mengerjakan tugas pemrograman web dari dosen akhirnya gw smptin nulis nih tutorial tentang membuat form login di ci . Cara – cara ini adalh cara yg aq pecahin sendiri setelah kesana kemari di mbah gugle cari referensi dan sedikit pemahaman serta modifikasi tentang membuat form login dengan codeigniter , langsung aj gw bhas langkah – langkah pembuatannya seperti berikut :

Langkah #1 buat database ‘login’ dengan tabel ‘user’ syntaxnya kayk gini nih

CREATE TABLE IF NOT EXISTS `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(20) NOT NULL,
`password` varchar(32) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;


        

Langkah #2 atur koneksi database ci di config database


$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = '';
$db['default']['database'] = 'login';
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
[ /sourcecode ]

<strong>Langkah #3 atur autoload database pada config autoload berikut source code tepatnya</strong>

[sourcecode languange="php"]

$autoload['libraries'] = array('database', 'session', 'form_validation', 'table');

Langkah #4 buat model untuk koneksi ke database login berikut namain modelnya dgan modelakun.php


<!--?php class ModelAkun extends CI_Model { function __construct() { parent::__construct(); } function cekUserPass($username, $password) { $this--->db->where('username', $username);
$this->db->where('password', $password);
$query = $this->db->get('user');
return $query->num_rows() > 0;
}

function isLogin() {
return $this->session->userdata('username');
}

}

?>

Langkah #5 buat view untuk tampilannya

  • view pertama buat view namanya login_page.php


.:: SILAB ::.
<script type="text/javascript" language="javascript" src="<?php">// <![CDATA[
">
// ]]></script>
" />
" />

<div > <!--?php echo "<br ?--></pre>
<form class="niceform" action="akun/login" method="post">";
echo "
<fieldset><table >";
$username = array(
'name' => 'username',
'size' => '33'
);
$password = array(
'name' => 'password',
'size' => '33'
);
echo "
<td >
<div><label for="username">Username:</label></div>
".form_input($username)."<label for="password">Password:</label>".form_password($password)." ".form_submit('','Login')."
".form_reset('','Clear')."
";
?></fieldset>
<!--?php echo form_close();?--> </form>
<pre>

  • view kedua buat view namanya redirect.php


Portal Labkom FMIPA UNS

 rel="stylesheet" type="text/css" />

</pre>
<div id="container">
<h1>Selamat datang</h1>
<div id="body"></div>
Page rendered in <strong>{elapsed_time}</strong> seconds</div>
<pre>

<!--?php?-->

  • View ketiga buat dengan nama Berhasil.php


Portal Labkom FMIPA UNS
 rel="stylesheet" type="text/css" />

</pre>
<div id="container">
<h1>Anda Berhasil Login</h1>
<div id="body"></div>
</div>
<pre>

Langkah #6 buat controllernya

  • buat controller dengan nama home.php


<!--?php class Home extends CI_Controller { function __construct() { parent::__construct(); $this--->load->model('ModelAkun');
}

function index() {
if ($this->session->userdata('username') == false)
redirect('login_page');

$this->load->view('Berhasil');
}

}

  • buat controller dengan nama akun.php


<!--?php class Akun extends CI_Controller { function __construct() { parent::__construct(); $this--->load->model('ModelAkun');
}

function login() {
$isi = false;
$this->form_validation->set_rules('username', 'Username', 'required');
$this->form_validation->set_rules('password', 'Password', 'required');
if ($this->form_validation->run()) {
$username = $this->input->post('username');
$password = md5($this->input->post('password'));
if ($this->ModelAkun->cekUserPass($username, $password)) {
$config = array(
'username' => $username,
'login' => true
);
$this->session->set_userdata($config);
$throw['pesan'] = 'Login sukses...';
$throw['redirect'] = 'home';
$isi = true;
} else {
$throw['pesan'] = 'Username / Password salah...
Silahkan coba lagi...';
$throw['redirect'] = 'login';
$isi = true;
}
} else {
$throw['pesan'] = validation_errors();
$throw['redirect'] = 'login';
$isi = true;
}

$this->load->view('redirect', $throw);

if (!$isi) {
redirect('login');
}
}

function logout() {
$this->session->sess_destroy();
redirect('login');
}

}

  • buat controller dengan nama login.php


<!--?php if (!defined('BASEPATH')) exit('No direct script access allowed'); class Login extends CI_Controller { public function __construct() { parent::__construct(); $this--->load->model('ModelAkun');
}

public function index() {
if ($this->session->userdata('username') == true)
redirect('home');

$this->load->view('login_page');
}

}

Semua controller semua view semua model udah dibuat tinggal dijalanin dehdaripada ribet bisa didownload source codenya disini

1 komentar: