Membuat Login dan Session pada Codeigniter - Hallo sahabat Dev-Create, Pada Artikel yang anda baca kali ini dengan judul Membuat Login dan Session pada Codeigniter, kami telah mempersiapkan artikel ini dengan baik untuk anda baca dan ambil informasi didalamnya. mudah-mudahan isi postingan Artikel codeigniter, Artikel website, yang kami tulis ini dapat anda pahami. baiklah, selamat membaca.

Judul : Membuat Login dan Session pada Codeigniter
link : Membuat Login dan Session pada Codeigniter

Baca juga


Membuat Login dan Session pada Codeigniter


Dalam pembuatan system aplikasi berbasis website biasanya  diperlukan menu login pada homepage  dimana menu login ini berfungsi untuk memberikan akses kepada  user agar bisa masuk  kedalam menu system sebagai anggota atau member.  pada kesempatan ini saya akan membuat tutorial bagaimana cara membuat menu login dengan session pada codeigniter.  sedikit penjelasan tentang session,  session adalah salah satu fasilitas yang ada pada PHP yang digunakan untuk menyimpan data sementara ke dalam variabel (variabel session) sehinga data tadi dapat di akses oleh client selama variabel session tadi tidak di kosongkan atau dihilangkan. Nilai variabel di dalam session di simpan di sisi server (web server). Jadi saat kita melakukan akses login proses pembuatan session kita lakukan, data session kita buat sesuai dengan kebutuhan kita. Untuk lebih jelasnya berikut tutorialnya.

1.Buatlah sebuah project Codeigniter.
2.Selanjutnya buat sebuah database dan sebuah tabel dengan nama tabel tbuser.
CREATE TABLE `tbuser` (
  `id_user` int(11) NOT NULL,
  `nama` varchar(100) NOT NULL,
  `username` varchar(100) NOT NULL,
  `password` varchar(200) NOT NULL,
  `last_login` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
3.Aktifkan libraries session pada config autoload agar otomatis digunakan disemua Class.
$autoload['libraries'] = array('database',  'session');
$autoload['helper'] = array('url', 'form');
4. Buatlah sebuah Controllers  dengan nama class Login.php dan ketikan script berikut untuk menampilkan halaman login.
<?php defined('BASEPATH') OR exit('No direct script access allowed');
class Login extends CI_Controller {
public function index() {
$this->load->view('login');
}
//script lanjutan dibawahnya

}
5. Tambahkan script function baru pada class Login.php  untuk proses Login.
public function do_login() {
    $data       = $this->input->post(null,true);
    $username = $this->security->xss_clean($this->input->post('username'));  
    //proses cek ke database
    $is_login = $this->db->get_where('tb_user',array(
                    'username'=>$data['username'],
                    //'password'=>md5(trim($data['password'])),
                    'password'=>$data['password'])
                )->row();                                  
          
    if($is_login){  
        //proses pembuatan session
        $session_set = array(          
            'is_login'        => true,
            'username'        => $username,                          
            'id_user'        => $is_login->id_user,
            'nama'            => $is_login->nama,
            'last_login'    => $is_login->last_login
        );
        //proses update database
        $this->db->update('tb_user',
                array('last_login'=>date('Y-m-d H:i:s')),
                array('id_user'=>$is_login->id_user)
            );
        $this->session->set_userdata($session_set);
        $this->session->set_flashdata('msg',
            '<div class="alert alert-danger">
            <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>
            Welcome </div>');  
        //Jika login benar maka masuk kedalam menu home              
        redirect('login/dashboard');          
    } else {
        $this->session->set_flashdata('msg',
            '<div class="alert alert-danger">
            <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>
            username dan password salah </div>');
        //Jika login salah maka kembali ke menu login                  
        redirect('login');
    }
}
6. Tambahkan script function baru pada class Login.php  untuk proses Logout.
public function logout(){        
    $this->session->sess_destroy();
    redirect('login');
}

7. Sekarang kita buat  sebuah  Views  untuk tampilan login. Buat sebuah views dengan nama v_login.php disni saya menggunakan template bootstrap mungkin anda bisa menggunakan template sesuai selera anda.
<form role="form" method="post" action="<?php echo base_url();?>login/do_login">
    <input type="text" name="username" class="form-control input-sm chat-input" placeholder="username" />
    </br>
    <input type="password" name="password" class="form-control input-sm chat-input" placeholder="password" />
    </br>
    <div class="wrapper">
    <span class="group-btn">
        <button type="submit" class="btn btn-primary">&nbsp;&nbsp;<i class="fa fa-sign-in"></i> Login&nbsp;&nbsp;</button>
    </span>
    </div>
</form>
8. Selanjutnya tampilan menu dashboard ketika berhasil login
<div class="container" style="margin-top:20px;">    
    <div class="container">   
        <div class="col-md-12">
        <table class="table table-striped">
        <thead>
            <tr>
                <th>Session id_user</th>
                <th>Session nama</th>
                <th>Session username</th>
                <th>Session last login</th>
            </tr>
        </thead>
            <tr>
                <td><?php echo $this->session->userdata('id_user'); ?></td>
                <td><?php echo $this->session->userdata('nama'); ?></td>
                <td><?php echo $this->session->userdata('username'); ?></td>
                <td><?php echo $this->session->userdata('last_login'); ?></td>
            </tr>   
        </table>
            <tr>
                <td><pre>echo $this->session->userdata('id_user');</pre></td>
                <td><pre>echo $this->session->userdata('nama');</pre></td>
                <td><pre>echo $this->session->userdata('username');</pre></td>
                <td><pre>echo $this->session->userdata('last_login');</pre></td>
            </tr>   
        </div>
    </div>
</div>
9. Mari kita jalankan. Jika berhasil hasilnya seprti gambar berikut.


Untuk menghapus data session secara otomatis dapat diset pada application/config.php dengan menentukan berapa lama waktu untuk expired session` sess_expiration` sehingga saat anda membuka  website tersebut tanpa melakukan aktivitas maka akan otomatis logout sesuai waktu yang ditentukan.

Demo 

Semoga bermanfaat



Demikianlah Artikel Membuat Login dan Session pada Codeigniter

Sekianlah artikel Membuat Login dan Session pada Codeigniter kali ini, mudah-mudahan bisa memberi manfaat untuk anda semua. baiklah, sampai jumpa di postingan artikel lainnya.

Anda sekarang membaca artikel Membuat Login dan Session pada Codeigniter dengan alamat link https://dev-create.blogspot.com/2017/04/membuat-login-dan-session-pada.html