Showing posts with label Codeigniter. Show all posts
Showing posts with label Codeigniter. 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..



Monday 15 August 2016

Update Database -CRUD 3 -Codeigniter 3

Gambar 1. Update Database -CRUD 3 -Codeigniter 3



Langkah Awal:

1.  Config Database(dilihat halaman crud 1)
2.  Autoload Database (dilihat halaman crud 1)
3. Baseurl (dilihat halaman crud 2)
link halaman sebelumya:
https://komputasistat.blogspot.co.id/2016/08/insert-database-crud-2-codeigniter-3.html
https://komputasistat.blogspot.co.id/2016/08/select-database-crud-1-codeigniter-3.html

Langkah Selanjutnya:


1. database 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', 'C1CF6A5C0E168B080C446E7F5600B2404BA06387DC10D96014C941E5F82615AE96AA231727D38728AA446F26B6765CFDBA3E9A18F27E39B0A4B8EA2A541B4E41', '2016-08-14 00:00:00'),
(2, 2, 'Oddsay', '5EBD6FB1059317FC5FBB57BB23AE6CEF10AAB311C04BEFC6D62CD3E4F7B0B6503857CF573EE84180113DF96DA1621334FDC3F691E96470637C8A4EF5B5E2A88E', '2016-08-15 00:00:00'),
(3, 3, 'Oddsaydev', '18F0AE1FC46894039381FBEFCC06C4E0B0C647DD45733D4AA1756502F68942768BCABE6A2E2ECB0DC4F6456B3B1CC2B4DF54AB78EC20C8DB21A0083EEAAEEB3B', '2016-08-15 00:00:00');

2. Updatedata.php (..\application\controllers\Updatedata.php)
<?php
defined('BASEPATH') OR  exit('No direct script access allowed');
class Updatedata extends CI_Controller{
 function __construct(){
 parent::__construct();  
  $this->load->model('updatedata_models');
                $this->load->helper( array('url' ,'form' )) ;

 }
public function index(){
 
     $data['user'] = $this->updatedata_models->tampil_data()->result();
  $this->load->view('updatedata_forms',$data);
}
public function updatevalue(){
 $data['user'] = $this->updatedata_models->update_data($this->input->post('id_user'))->result();
 $this->load->view('updatevalue_forms',$data);
}
public function eksekusi(){
 //echo"hallo".$this->input->post('id_user');
 $data['user'] = $this->updatedata_models->eksekusi_data($this->input->post('id_user'),$this->input->post('role'),$this->input->post('username'))->result();
 $this->load->view('updatedata_forms',$data);
}

}

3. updatedata_models.php (..\application\models\updatedata_models.php)
<?php
defined('BASEPATH') OR  exit('No direct script access allowed');
class Updatedata extends CI_Controller{
 function __construct(){
 parent::__construct();  
  $this->load->model('updatedata_models');
                $this->load->helper( array('url' ,'form' )) ;

 }
public function index(){
 
     $data['user'] = $this->updatedata_models->tampil_data()->result();
  $this->load->view('updatedata_forms',$data);
}
public function updatevalue(){
 $data['user'] = $this->updatedata_models->update_data($this->input->post('id_user'))->result();
 $this->load->view('updatevalue_forms',$data);
}
public function eksekusi(){
 //echo"hallo".$this->input->post('id_user');
 $data['user'] = $this->updatedata_models->eksekusi_data($this->input->post('id_user'),$this->input->post('role'),$this->input->post('username'))->result();
 $this->load->view('updatedata_forms',$data);
}

}

4.updatedata_forms.php (..\application\views\updatedata_forms.php)
<!DOCTYPE html>
<html>
<head>
 <title>Update komputasistat.blogspot.com</title>
</head>
<body>
 <center><h1>Update</h1></center>
 
 <table style="margin:20px auto;" border="1">
  <tr>
   <th>No</th>
   <th>Role</th>
   <th>Id User</th>
   <th>Username</th>
   <th>Password</th>
   <th>Last Login</th>
   <th>Action</th>
  </tr>
  <?php 
  $no = 1;
  foreach($user as $u){ 
  ?>
  <?php echo form_open('updatedata/updatevalue'); ?>
  <tr>
   <td><?php echo $no++ ?></td>
   <td><?php echo $u->role ?></td>
   <td><?php echo $u->id_user ?></td>
   <td><?php echo $u->username ?></td>
   <td><?php echo $u->password ?></td>
   <td><?php echo $u->last_login ?></td>
   <td>
<?php echo form_hidden('id_user',$u->id_user); ?>
    <?php echo form_submit('submit', 'update'); ?> </td>
  
  </tr>
  <?php echo form_close(); ?>
  <?php } ?>
 </table>
 
</body>
</html>

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

<!DOCTYPE html>
<html>
<head>
 <title>Update komputasistat.blogspot.com</title>
</head>
<body>
 <center><h1>Update Value</h1></center>
<?php echo form_open('updatedata/eksekusi'); ?>
  <?php 
  foreach($user as $u){ 
  ?>
 
  
  id user: <?php echo $u->id_user ;?><br/>
  <?php echo form_hidden( 'id_user',$u->id_user );  ?>
  role: <?php echo form_input( 'role',$u->role );  ?><br/>
  username: <?php echo form_input( 'username',$u->username );?><br/>
  <?php echo form_submit($u->id_user, 'update'); ?> </td>
  
 
  <?php } ?>

 <?php echo form_close(); ?>
</body>
</html>

Sunday 14 August 2016

Insert Database -CRUD 2 -Codeigniter 3

Gambar 1. Insert Database -CRUD 2 -Codeigniter 3

Pengaturan Awal:

1.  Database /MySQL (menggunakan database tutorial sebelumnya)
2.  Config Database
3.  Autoload Database
dapat melihat halaman sebelumya:
https://komputasistat.blogspot.co.id/2016/08/select-database-crud-1-codeigniter-3.html


Langkah Selanjutnya:


1. Atur baseurl karena kita akan menggunaan fungsi baseurl
sourcecode (...\application\config\config.php)


$config['base_url'] = 'http://localhost:8012/latihanci/MVC/1/';
*sesuaikan dengan baseurl CodeIgneter anda

2. Pada kali ini helper form juga digunakan. Ketika menggunakan helper lebih dari satu kita dapat menggunakan array
source code: Login.php (...\application\controllers\InsertLogin.php)
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class InsertLogin extends CI_Controller {


 function __construct(){
  parent::__construct();  
  $this->load->model('data_insert');
        $this->load->helper(array('url','form'));
 }
 public function index()
 {
          if($this->input->post('submit')){
            $this->data_insert->tambah();
            $this->load->view('telahterinsert');
        }else
        $this->load->view('data_insert_form');
 }

}

3.
source code: data_insert.php (...\application\models\data_insert.php)
<?php
class data_insert extends CI_Model { 

    function tambah() {
        $role = $this->input->post('role');
        $id_user = $this->input->post('id_user');
        $username = $this->input->post('username');
        $password = $this->input->post('password');

        $data = array (
            'role' => $role,
            'id_user'  => $id_user,
            'username'=> $username,
            'password' => $password

        );  
        $this->db->insert('user',$data);
    }
}

4.
source code: data_insert_form.php (...\application\views\data_insert_form.php)
<html>
<head>
<title>Form Tambah Data Login</title>
<base href="<?php echo base_url(); ?>" />
</head>
<body>
<h3>Tambah Data Login</h3>
<?php echo form_open('insertlogin'); ?>
<table>
<tr>
    <td> role </td>
    <td> <?php echo form_input('role'); ?> </td>
</tr>
<tr>
    <td> id_user </td>
    <td> <?php echo form_input('id_user'); ?> </td>
</tr>
<tr>
    <td> username </td>
    <td> <?php echo form_input('username'); ?> </td>
</tr>
<tr>
    <td> password </td>
    <td> <?php echo form_input('password'); ?> </td>
</tr>

<tr>
    <td> </td>
    <td> <?php echo form_submit('submit', 'Tambah'); ?> </td>
</tr>
</table>
<?php echo form_close(); ?>
 
</form>
</body>
</html>

5. bila berhasil ter insert source code telahterinsert.php akan dipanggil

source code: telahterinsert.php (...\application\views\telahterinsert.php)
<!DOCTYPE html>
<html>
<head>
</head>
<body>
 <center><h1>Telah TerInsert</h1></center>
 
</body>
</html>


6. Data yang sudah ters-insert dapat dilihat menggunakan phpmyadmin/ gunakan tutorial sebelumnya
https://komputasistat.blogspot.co.id/2016/08/select-database-crud-1-codeigniter-3.html



Jika ingin menggunakan css untuk memperindah textfield dapat menggunakan class yang disisipkan pada form_input

contoh:
<?php echo form_input('role','','class="test"'); ?>

<style>
.test{
display: block;
  margin: 0;
  width: 100%;
  font-family: sans-serif;
  font-size: 18px;
  appearance: none;
  box-shadow: none;
  border-radius: none;
}
</style>


Trimakasih...



Select Database -CRUD 1 -Codeigniter 3


Gambar 1. Select Database -CRUD 1 -Codeigniter3


Source SQL:

-- --------------------------------------------------------

--
-- Struktur dari tabel `user`
--

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, 'hasta', 'C1CF6A5C0E168B080C446E7F5600B2404BA06387DC10D96014C941E5F82615AE96AA231727D38728AA446F26B6765CFDBA3E9A18F27E39B0A4B8EA2A541B4E41', '2016-08-14 00:00:00'),
(2, 2, 'andi', 'ED0D587073B2A487FA0638D970255179F0F4D298B33ED39317797681BB57E2277C560FFB9A3F75A81ADC261D4D7CEE06769380751D44E0669226D4CF042E44B0', '2016-08-14 00:00:00');

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;


1. atur database:
hostname: localhost
usernam:root
password:
database:latihanci
(Pengaturan database disesuaikan dengan database yang akan digunakan)

source code: database.php (...\application\config\database.php)
$db['default'] = array(
 'dsn' => '',
 'hostname' => 'localhost',
 'username' => 'root',
 'password' => '',
 'database' => 'latihanci',
 'dbdriver' => 'mysqli',
 'dbprefix' => '',
 'pconnect' => FALSE,
 '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
);

2. Panggil Library database menjadi autoload

source code: database.php (...\application\config\autoload.php)
$autoload['libraries'] = array('database');

3.Ubah default_controller agar control Login.php (nama controller yang akan kita buat) menjadi halaman depan/utama :

source code: database.php (...\application\config\autoload.php)

$route['default_controller'] = 'login';

4.
source code: 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->model('data_user');
  $this->load->helper('url');

 }
 public function index(){
  $data['user']=$this->data_user->tampil_data()->result();
  $this->load->view('loginform',$data);

 }

}

5.
source code: data_user.php (...\application\models\data_user.php)
<?php
class data_user extends CI_Model{
 function tampil_data(){
  return $this->db->get('user');
 }
}

6.
source code: loginform.php(...\application\views\loginform.php)

<!DOCTYPE html>
<html>
<head>
 <title>Select Database CI3</title>
</head>
<body>
 <center><h1>Codeigniter 3</h1></center>
 <table style="margin:20px auto;" border="1">
  <tr>
   <th>No</th>
   <th>Role</th>
   <th>Id User</th>
   <th>Username</th>
   <th>Password</th>
   <th>Last Login</th>
  </tr>
  <?php 
  $no = 1;
  foreach($user as $u){ 
  ?>
  <tr>
   <td><?php echo $no++ ?></td>
   <td><?php echo $u->role ?></td>
   <td><?php echo $u->id_user ?></td>
   <td><?php echo $u->username ?></td>
   <td><?php echo $u->password ?></td>
   <td><?php echo $u->last_login ?></td>
  
  </tr>
  <?php } ?>
 </table>
</body>
</html>