Login Session Menggunakan CodeIgniter
Kali ini kami akan share bagaimana membuat form login session menggunakan CodeIgniter. Jika kalian belum menginstal CodeIgniter silahkan download file terbarunya dari pada website resminya download.
Dalam menjalankan aplikasi simple ini kami menggunakan localhost untuk menguji, aplikasi ini kami beri nama loginci. Maka dalam instalasi, konfigurasi yang benar adalah sebagai berikut application / config / config.php
Database
Berikutnya yang perlu anda persiapkan dalam membuat aplikasi ini adalah membuat database-nya, buat database dengan nama codeigniter kemudian masukkan struktur database dibawah ini.
Koneksi Database
Berikutnya adalah membuat koneksi kedatabase, buka folder application / folder / database.php kemudian masukkan nama database sesuai yang anda buat tadi.
Buat Model
Salah satu aturan membuat model adalah file pertama diharuskan menggunakan huruf capital. Cara membuatnya buka application / models kemudian buat file dengan nama Users_model.php
Buat Controller
anda menuu folder application / controllers kemudian buta file dengan nama User.php.
Buat Views
Beralih ke folder application / views kemudian buat file dengan nama login_page.php file ini sebagai form tampilan login.
Sekian share singkat kali ini kami bisa langsung melihat demo dan mendownload filenya dibawah ini, dengan akses login
Email : armandelta7@gmail.com
Pass : dimanakauberada
Jika kalian belum paham dengan apa yang kami share di atas silahkan tinggalkan komentar dibawah dan mulai berdiskusi dengan kami.
Dalam menjalankan aplikasi simple ini kami menggunakan localhost untuk menguji, aplikasi ini kami beri nama loginci. Maka dalam instalasi, konfigurasi yang benar adalah sebagai berikut application / config / config.php
$config['base_url'] = 'http://localhost/loginci';
Database
Berikutnya yang perlu anda persiapkan dalam membuat aplikasi ini adalah membuat database-nya, buat database dengan nama codeigniter kemudian masukkan struktur database dibawah ini.
CREATE TABLE `users` (
`id` int(11) NOT NULL,
`email` varchar(40) NOT NULL,
`password` varchar(40) NOT NULL,
`fname` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data untuk tabel `users`
--
INSERT INTO `users` (`id`, `email`, `password`, `fname`) VALUES
(2, 'armandelta7@gmail.com', 'dimanakauberada', 'Arman Basir');
Koneksi Database
Berikutnya adalah membuat koneksi kedatabase, buka folder application / folder / database.php kemudian masukkan nama database sesuai yang anda buat tadi.
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'codeigniter',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => TRUE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
Buat Model
Salah satu aturan membuat model adalah file pertama diharuskan menggunakan huruf capital. Cara membuatnya buka application / models kemudian buat file dengan nama Users_model.php
<?php
class Users_model extends CI_Model {
function __construct(){
parent::__construct();
$this->load->database();
}
public function login($email, $password){
$query = $this->db->get_where('users', array('email'=>$email, 'password'=>$password));
return $query->row_array();
}
}
?>
Buat Controller
anda menuu folder application / controllers kemudian buta file dengan nama User.php.
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class User extends CI_Controller {
function __construct(){
parent::__construct();
$this->load->helper('url');
$this->load->model('users_model');
}
public function index(){
//load session library
$this->load->library('session');
//restrict users to go back to login if session has been set
if($this->session->userdata('user')){
redirect('home');
}
else{
$this->load->view('login_page');
}
}
public function login(){
//load session library
$this->load->library('session');
$email = $_POST['email'];
$password = $_POST['password'];
$data = $this->users_model->login($email, $password);
if($data){
$this->session->set_userdata('user', $data);
redirect('home');
}
else{
header('location:'.base_url().$this->index());
$this->session->set_flashdata('error','Invalid login. User not found');
}
}
public function home(){
//load session library
$this->load->library('session');
//restrict users to go to home if not logged in
if($this->session->userdata('user')){
$this->load->view('home');
}
else{
redirect('/');
}
}
public function logout(){
//load session library
$this->load->library('session');
$this->session->unset_userdata('user');
redirect('/');
}
}
Buat Views
Beralih ke folder application / views kemudian buat file dengan nama login_page.php file ini sebagai form tampilan login.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CodeIgniter Login</title>
<link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>bootstrap/css/bootstrap.min.css">
</head>
<body>
<nav class="navbar navbar-default navbar-static-top">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="https://www.tutorialswb.com/">TutorialsWB</a>
</div>
</div>
</nav>
<div class="container">
<div class="row">
<div class="col-sm-4 col-sm-offset-4">
<div class="login-panel panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title"><span class="glyphicon glyphicon-lock"></span> Login
</h3>
</div>
<div class="panel-body">
<form method="POST" action="<?php echo base_url(); ?>index.php/user/login">
<fieldset>
<div class="form-group">
<input class="form-control" placeholder="Email" type="email" name="email" required>
</div>
<div class="form-group">
<input class="form-control" placeholder="Password" type="password" name="password" required>
</div>
<button type="submit" class="btn btn-lg btn-primary btn-block"><span class="glyphicon glyphicon-log-in"></span> Login</button>
</fieldset>
</form>
</div>
</div>
<?php
if($this->session->flashdata('error')){
?>
<div class="alert alert-danger text-center" style="margin-top:20px;">
<?php echo $this->session->flashdata('error'); ?>
</div>
<?php
}
?>
</div>
</div>
</div>
</body>
</html>
Sekian share singkat kali ini kami bisa langsung melihat demo dan mendownload filenya dibawah ini, dengan akses login
Email : armandelta7@gmail.com
Pass : dimanakauberada
Jika kalian belum paham dengan apa yang kami share di atas silahkan tinggalkan komentar dibawah dan mulai berdiskusi dengan kami.