Showing posts with label Codeiginter Login. Show all posts
Showing posts with label Codeiginter Login. Show all posts

Wednesday 17 August 2016

Login Menggunakan Session dan MySQL Database - Login 2 - CodeIgniter 3

Gambar 1. Login Menggunakan Session dan MySQL Database 


Setelah sebelumnya kita telah memanfaatkan session untuk login (https://komputasistat.blogspot.co.id/2016/08/simpel-login-menggunakan-session-login.html). Pada kali ini akan menambahkan database MySQL. Database akan digunakan untuk menyimpan password dan username.

Langkah awal

Kode program  ada di halaman ini merupakan hasil penambahan kode dari sebelumnya:
https://komputasistat.blogspot.co.id/2016/08/simpel-login-menggunakan-session-login.html . Maka jika telalu rumit dapat mempelajari halaman sebelumnya

Kemudian

sesuaikan
1. ...\application\config\database.php
2. ...\application\config\routes.php
3. ...\application\config\autoload.php
caranya bisa dilihat pada halaman:
https://komputasistat.blogspot.co.id/2016/08/select-database-crud-1-codeigniter-3.html

4. sesuaikan juga base urlnya lihat:
https://komputasistat.blogspot.co.id/2016/08/insert-database-crud-2-codeigniter-3.html

Langkah Selanjutnya

1. SQL:

CREATE TABLE IF NOT EXISTS `user` (
  `role` int(1) NOT NULL,
  `id_user` int(4) NOT NULL,
  `username` varchar(50) NOT NULL,
  `password` char(128) NOT NULL,
  `last_login` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data untuk tabel `user`
--

INSERT INTO `user` (`role`, `id_user`, `username`, `password`, `last_login`) VALUES
(1, 1, 'hastan', 'bbfe3eca408902d10529a5f604c4884a', '2016-08-14 00:00:00'),
(2, 2, 'Oddsay', '53e62ab55d6fce87c22e763da78dab83', '2016-08-15 00:00:00'),
(3, 3, 'Oddsaydev', 'c18dac620f883da1123de498c0ecdd8d', '2016-08-15 00:00:00');

* user ada 3 yaitu : 1. username: hastan 
                                   password: hastan
                              2. username: Oddsay 
                                password: Oddsay
                             3. username: Oddsaydev 
                                password: Oddsaydev

2.
 Login.php (..\application\controllers\Login.php )
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Login extends CI_Controller {

 
  function __construct(){
 parent::__construct();  
                $this->load->helper( array('url' ,'form' )) ;
                $this->load->library('session');
                 $this->load->model('autentifikasi_models');

 }
 public function index()
 {
 $this->load->view('login_form');

 }
 public function authentifikasi()
 {
  
  if($this->input->post('submit')=='Login'&&$this->autentifikasi_models->cocokan($this->input->post('username'),$this->input->post('password'))){
   $array_items = array('username' => $this->input->post('username'));
  $this->session->set_userdata('logged_in', $array_items );
 
  
  }
  else if($this->input->post('submit')=='Logout')
   {
    $this->session->unset_userdata('logged_in', $array_items);


}
  header('location: '.$this->config->base_url()."index.php/login/halamanadmin"); 
 
 }
 public function halamanadmin(){

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

3.
autentifikasi_models.php (..\application\models\autentifikasi_models.php )
<?php
class autentifikasi_models extends CI_Model{

 function cocokan($username, $password){
  
echo"nama".$username."password".$password;
  $arrayName = array('username' => $username,'password' => md5($password));
  $this->db->where( $arrayName);


    $query = $this->db->get('user');
  foreach ($query->result() as $row)
{return true;
 
}}}

4.
 login_form.php (..\application\views\login_form.php )
<html>
<?php

if (isset($this->session->userdata['logged_in']['username'])) {

header('location: '.$this->config->base_url()."index.php/login/halamanadmin");
}

?>
<head>

</head>
<body>
<?php 
echo form_open('login/authentifikasi');
echo 'username: '.form_input('username').'<br/>';
echo 'password: '.form_password('password').'<br/>';
echo form_submit('submit', 'Login');

echo form_close();
?>

</body>
</html>

5.
halaman_admin.php (..\application\views\halaman_admin.php).

<html>
<?php
if ($this->session->userdata['logged_in']['username']==false) {

header('location: '.$this->config->base_url());
}else{
$username = $this->session->userdata['logged_in']['username'];

}
?>
<body>
 <h1>Selamat Datang, <?php echo $username ?></h1>
 <h3>Halaman ini hanya bisa diakses oleh admin</h3>
 <?php
echo form_open('login/authentifikasi');
echo form_submit('submit', 'Logout');
echo form_close();
?>

</body>
</html>

Sekian.. Trimakasih




Tuesday 16 August 2016

Simpel Login Menggunakan Session -Login 1 -CodeIgniter 3

Gambar 1. Simpel Login Menggunakan Session -Login 1 -CodeIgniter 3

Langkah Awal

1. sesuaikan base url
caranya bisa lihat:
https://komputasistat.blogspot.co.id/2016/08/insert-database-crud-2-codeigniter-3.html

Langkah Selanjutnya

1. Status login disimpan kedalam session jika logout maka nilai didalam session akan dihapus . Penjelasan session codeigniter dapat dilihat di https://www.codeigniter.com/userguide2/libraries/sessions.html


 Login.php (..\application\controllers\Login.php )
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Login extends CI_Controller {

 
  function __construct(){
 parent::__construct();  
                $this->load->helper( array('url' ,'form' )) ;
                $this->load->library('session');

 }
 public function index()
 {
  $this->load->view('login_form');
 }
 public function authentifikasi()
 {
  $password='admin1';
  $username='komputasistat';
  $array_items = array('username' => $username);
  if($this->input->post('submit')=='Login' && $this->input->post('username')==$username && $this->input->post('password')==$password){
  $this->session->set_userdata('logged_in', $array_items );
  
  }
  else if($this->input->post('submit')=='Logout')
   {
    $this->session->unset_userdata('logged_in', $array_items);


}
  header('location: '.$this->config->base_url()."index.php/login/halamanadmin"); 
  //echo "string".$this->input->post('submit');
 }
 public function halamanadmin(){

  $this->load->view('halaman_admin');
 }
}
*username= komputasistat, password= admin1

2.
 login_form.php (..\application\views\login_form.php )

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
?><!DOCTYPE html>
<html lang="en">
<head>

</head>
<body>
<?php 
echo form_open('login/authentifikasi');
echo 'username: '.form_input('username').'<br/>';
echo 'password: '.form_password('password').'<br/>';
echo form_submit('submit', 'Login');

echo form_close();
?>

</body>
</html>

3. Halaman admin hanya bisa diakses apabila berstatus login. Jika tidak berstatus login maka akan dilempar ke halaman login.

halaman_admin.php (..\application\views\halaman_admin.php).
<html>
<?php
if ($this->session->userdata['logged_in']['username']==false) {

header('location: '.$this->config->base_url());
}else{
$username = $this->session->userdata['logged_in']['username'];

}
?>
<body>
 <h1>Selamat Datang, <?php echo $username ?></h1>
 <h3>Halaman ini hanya bisa diakses oleh admin</h3>
 <?php
echo form_open('login/authentifikasi');
echo form_submit('submit', 'Logout');
echo form_close();
?>

</body>
</html>

}
  header('location: '.$this->config->base_url()."index.php/login/halamanadmin"); 
  //echo "string".$this->input->post('submit');
 }
 public function halamanadmin(){

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


Gambar 2. halaman admin

Trimakasih..