CodeIgniter – Susantokun https://www.susantokun.com Situs Edukasi, Tips dan Tutorial Mon, 17 Dec 2018 18:21:17 +0000 id-ID hourly 1 https://wordpress.org/?v=5.2.2 Cara Menampilkan Data dari Database MySQL dengan DataTables di CodeIgniter https://www.susantokun.com/cara-menampilkan-data-dari-database-mysql-dengan-datatables-di-codeigniter/ https://www.susantokun.com/cara-menampilkan-data-dari-database-mysql-dengan-datatables-di-codeigniter/#respond Mon, 17 Dec 2018 18:21:17 +0000 https://www.susantokun.com/?p=2389 Setelah kita belajar tentang Cara Menggunakan DataTables di CodeIgniter dimana hanya menampilkan data yang bukan dari database, nah sekarang kita akan belajar bagaimana cara menampilkan data dari database mysql dengan datatables di codeigniter. Berikut adalah langkah-langkahnya : Ke-1 Buat Database dan TabelContoh membuat database db_susantokun_datatables dan tabel artikel yang berisi id, judul, isi. Ke-2 Buat Controllerpada …

The post Cara Menampilkan Data dari Database MySQL dengan DataTables di CodeIgniter appeared first on Susantokun.

]]>
Cara Menampilkan Data dari Database MySQL dengan DataTables di CodeIgniterSetelah kita belajar tentang Cara Menggunakan DataTables di CodeIgniter dimana hanya menampilkan data yang bukan dari database, nah sekarang kita akan belajar bagaimana cara menampilkan data dari database mysql dengan datatables di codeigniter. Berikut adalah langkah-langkahnya :

Ke-1 Buat Database dan Tabel
Contoh membuat database db_susantokun_datatables dan tabel artikel yang berisi id, judul, isi.

Ke-2 Buat Controller
pada parent::__construct(); tambahkan :

$this->load->model('Artikel_model');

pada public function index() tambahkan :

$data['artikel'] = $this->Artikel_model->get_all();

Ke-3 Buat Model (nama model Artikel_model)

buat function get_all seperti dibawah ini :

public function get_all()
  {
    $this->db->select('*');
    $this->db->from('artikel);
    $this->db->order_by('id','asc');
    $query = $this->db->get();
    return $query->result();
  }

Ke-4 Buat View
Untuk view dan lengkapnya kamu bisa lihat video Tutorial Menampilkan Data dari Database MySQL dengan DataTables di CodeIgniter yang sudah saya buat.

The post Cara Menampilkan Data dari Database MySQL dengan DataTables di CodeIgniter appeared first on Susantokun.

]]>
https://www.susantokun.com/cara-menampilkan-data-dari-database-mysql-dengan-datatables-di-codeigniter/feed/ 0
Cara Menggunakan DataTables di CodeIgniter https://www.susantokun.com/cara-menggunakan-datatables-di-codeigniter/ https://www.susantokun.com/cara-menggunakan-datatables-di-codeigniter/#respond Mon, 17 Dec 2018 17:34:11 +0000 https://www.susantokun.com/?p=2376 Tutorial Menggunakan DataTables di CodeIgniter – Susantokun. Haluuu haluuu … sudah lama saya tidak posting tentang framework codeigniter. Pada kesempatan kali ini saya akan membagi tutorial bagaimana cara menggunakan datatables di codeigniter. Namun sebelum itu kamu tau tidak apa itu datatables? Kalau belum tahu apa itu datatables maka simak sampai habis ya. Apa itu DataTables? …

The post Cara Menggunakan DataTables di CodeIgniter appeared first on Susantokun.

]]>

Tutorial Menggunakan DataTables di CodeIgniter – Susantokun. Haluuu haluuu … sudah lama saya tidak posting tentang framework codeigniter. Pada kesempatan kali ini saya akan membagi tutorial bagaimana cara menggunakan datatables di codeigniter. Namun sebelum itu kamu tau tidak apa itu datatables? Kalau belum tahu apa itu datatables maka simak sampai habis ya.

Apa itu DataTables? Apa Fungsi DataTables?

DataTables adalah suatu plugin berbasis jquery yang berfungsi untuk menampilkan data berupa tabel. Tabel yang dibuat dengan datatables banyak sekali fiturnya seperti searching, pagination, menampilkan jumlah data yang ada, membuat batasan dalam menampilkan data sesuai dengan yang kamu inginkan, membuat print pdf, print excel, menampilkan field sesuai yang kamu inginkan dan masih banyak lagi fungsi-fungsi yang bisa kamu tambahkan.

Cara Install dan Menggunakan DataTables

Cara Install atau menerapkannya terbilang mudah, baik itu untuk native ataupun pada framewrok seperti codeigniter. Kamu bisa lihat video Tutorial Menggunakan DataTables di CodeIgniter yang telah saya buat.

Dan untuk lebih lengkapnya kamu bisa kunjungi langsung situs resmi datatables disana banyak sekali fitur-fitur yang bisa kamu coba untuk customize table.

The post Cara Menggunakan DataTables di CodeIgniter appeared first on Susantokun.

]]>
https://www.susantokun.com/cara-menggunakan-datatables-di-codeigniter/feed/ 0
Cara upload foto di CodeIgniter https://www.susantokun.com/cara-upload-foto-di-codeigniter/ https://www.susantokun.com/cara-upload-foto-di-codeigniter/#comments Sat, 01 Sep 2018 02:49:16 +0000 https://www.susantokun.com/?p=2291 Cara upload foto di CodeIgniter – Susantokun. Maksud dari artikel ini adalah cara untuk upload gambar di ci, upload file ke database dengan ci, upload file di codeigniter yang artinya pada kasus kali ini mimin akan memberikan source code cara upload foto di codeigniter disertai dengan langkah – langkah dan penjelasannya. Baca juga artikel codeigniter …

The post Cara upload foto di CodeIgniter appeared first on Susantokun.

]]>
Cara upload foto di CodeIgniterCara upload foto di CodeIgniter – Susantokun. Maksud dari artikel ini adalah cara untuk upload gambar di ci, upload file ke database dengan ci, upload file di codeigniter yang artinya pada kasus kali ini mimin akan memberikan source code cara upload foto di codeigniter disertai dengan langkah – langkah dan penjelasannya.

Baca juga artikel codeigniter lainnya : 

Pada dasarnya cara upload foto di codeIgniter adalah input nama file dari gambar yang diunggah ke database sedangkan untuk file gambar / foto nya disimpan pada folder yang nantinya dapat digunakan untuk pemanggilan foto atau gambar tersebut sesuai dengan nama nya.

Cara upload foto di CodeIgniter

Ke-1 siapkan alat tempurnya :

  1. CodeIgniter
  2. Text Editor

Ke-2 ekstrak kulit manggis dan ubah nama menjadi upload_photo, kemudian pindahkan ke htdocs

Ke-3 buka upload_photo di text editor kesayangan sobat, inget … text editor

Ke-4 atur config seperti biasa, sobat bisa lihat di https://youtu.be/63u0xCqjNlI atau https://www.youtube.com/watch?v=v1jgbshmbhc&t

Ke-5 sobat buka application\views\welcome_message.php dan ganti menjadi seperti code di bawah :

<?=$this->session->flashdata('msg') ?>
<form action="<?=base_url('welcome/tambah_aksi') ?>" method="post" enctype="multipart/form-data">
	<table>
		<tr>
			<td>Username</td>
			<td><input type="text" name="username" placeholder="Username bossq"></td>
		</tr>
		<tr>
			<td>Photo</td>
			<td><input type="file" name="photo"></td>
		</tr>
		<tr>
			<td><button type="submit" name="submit">Tambah</td>
		</tr>
	</table>
</form>
<table>
	<thead>
		<tr>
			<th>No</th>
			<th>Username</th>
			<th>Photo</th>
		</tr>
	</thead>
</table>

Maka jika dibuka localhost/upload_photo tampilannya akan menjadi seperti gambar dibawah :

Cara upload foto di CodeIgniter

Ke-6 masuk ke application\controllers\Welcome.php dan ubah menjadi seperti code di bawah :

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Welcome extends CI_Controller {

	public function __construct()
	{
		parent::__construct();
		$this->load->model(array(
			'User_model'
		));
	}

	public function index()
	{
		$data['user'] = $this->User_model->get_all();
		$this->load->view('welcome_message', $data);
	}

	public function tambah_aksi()
	{
		$data = array(
			'username' => $this->input->post('username'),
		);
		if (!empty($_FILES['photo']['name'])) {
			$upload = $this->_do_upload();
			$data['photo'] = $upload;
		}
		$this->User_model->insert($data);
		redirect('welcome', $data);
	}

	private function _do_upload()
	{
		$config['upload_path'] 		= 'assets/images/';
		$config['allowed_types'] 	= 'gif|jpg|png';
		$config['max_size'] 			= 100;
		$config['max_widht'] 			= 1000;
		$config['max_height']  		= 1000;
		$config['file_name'] 			= round(microtime(true)*1000);

		$this->load->library('upload', $config);
		if (!$this->upload->do_upload('photo')) {
			$this->session->set_flashdata('msg', $this->upload->display_errors('',''));
			redirect('welcome');
		}
		return $this->upload->data('file_name');
	}
}

Penjelasan :

  • $config[‘max_size’] = 100; adalah maksimal ukuran file yang diupload, sehingga batas maksimal yang diunggah adalah 100kb
  • $config[‘file_name’] = round(microtime(true)*1000); mengganti nama asli menjadi microtime yang dikalikan dengan 1000, jika ingin mengubahnya menjadi nama asli tinggal di hilangkan saja.
  • $this->session->set_flashdata(‘msg’, $this->upload->display_errors(”,”)); jadi ketika file gambar nya tidak sesuai dengan aturan (max_size, max_widht, max_height) akan menampilkan error. Sebagai contoh pada gambar di bawah adalah ukuran file nya gede kaya punya gua.
    Cara upload foto di CodeIgniter

Ke-7 buat model baru dengan nama User_model (application\models\User_model.php) dan masukkan code di bawah ini :

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class User_model extends CI_Model{

  public function __construct()
  {
    parent::__construct();
    //Codeigniter : Write Less Do More
  }

  public function get_all()
  {
    return $this->db->get('tbl_user')->result();
  }

  public function insert($data)
  {
    $this->db->insert('tbl_user', $data);
  }

}

Ke-8 sobat tambahkan tbody nya pada application\views\welcome_message.php sehingga source code nya akan menjadi seperti di bawah :

<?=$this->session->flashdata('msg') ?>
<form action="<?=base_url('welcome/tambah_aksi') ?>" method="post" enctype="multipart/form-data">
	<table>
		<tr>
			<td>Username</td>
			<td><input type="text" name="username" placeholder="Username bossq"></td>
		</tr>
		<tr>
			<td>Photo</td>
			<td><input type="file" name="photo"></td>
		</tr>
		<tr>
			<td><button type="submit" name="submit">Tambah</td>
		</tr>
	</table>
</form>
<table>
	<thead>
		<tr>
			<th>No</th>
			<th>Username</th>
			<th>Photo</th>
		</tr>
	</thead>
	<tbody>
		<tr>
		<?php
		$no = 1;
		foreach ($user as $row): ?>
			<tr>
				<td><?$no++?></td>
				<td><?=$row->username?></td>
				<td>
					<img src="<?=base_url('assets/images/'.$row->photo)?>" style="width:300px; height:150">
				</td>
			</tr>
		<?php endforeach; ?>
		</tr>
	</tbody>
</table>

Ke-9 sobat buat folder assets/images di projek upload_photo yang digunakan untuk menampung file foto atau gambar nya.

Ke-10 sobat coba masukkan di username nya satu dan masukkan file foto nya sehingga tampilannya akan menjadi seperti ini :

Cara upload foto di CodeIgniter

Selesai.

Nah itulah artikel tentang Cara upload foto di CodeIgniter yang dapat disampaikan, kurang lebihnya mohon maaf dan semoga berhasil, untuk penjelasan lengkapnya sobat bisa tonton video tutorialnya. Jika ada yang kurang dimengerti atau mengalami kesulitan bisa bertanya.

The post Cara upload foto di CodeIgniter appeared first on Susantokun.

]]>
https://www.susantokun.com/cara-upload-foto-di-codeigniter/feed/ 3
Cara join table di CodeIgniter https://www.susantokun.com/cara-join-table-di-codeigniter/ https://www.susantokun.com/cara-join-table-di-codeigniter/#comments Mon, 20 Aug 2018 13:15:15 +0000 https://www.susantokun.com/?p=2156 Cara join table di CodeIgniter – Susantokun. Pada kesempatan kali ini miminz akan memberikan tutorial bagaimana Cara join table di CodeIgniter baik itu join untuk 1 tabel, join 2 tabel, join 3 tabel sampai dengan join n tabel. Sebenarnya ini adalah permintaan dari teman miminz namanya Naufal Firansyah (masih jomblo) yang lagi kesulitan join joinan maka dibuatlah …

The post Cara join table di CodeIgniter appeared first on Susantokun.

]]>
Cara join table di CodeIgniterCara join table di CodeIgniter – Susantokun. Pada kesempatan kali ini miminz akan memberikan tutorial bagaimana Cara join table di CodeIgniter baik itu join untuk 1 tabel, join 2 tabel, join 3 tabel sampai dengan join tabel. Sebenarnya ini adalah permintaan dari teman miminz namanya Naufal Firansyah (masih jomblo) yang lagi kesulitan join joinan maka dibuatlah tutorial ini, jadi jika sobat lagi ada kesulitan nih tentang codeigniter bisa langsung request aja di kolom komentar Request di mari. Pada prinsipnya fungsi dari join tabel di codeigniter adalah untuk memanggil data lain yang ada pada sebuah tabel sehingga data dari tabel lain dapat ditampilkan sesuai dengan hubungan antara Pimary Key dengan Foreign Key, namun pada saat membuat tabel sobat hanya perlu mendefinisikan primary key nya saja, sebagai contoh miminz mempunyai 2 tabel dengan isi sebagai berikut :

Tabel 1 (tbl_user) :

  1. id [primary key, int (3), ai]
  2. id_role [int(3)]
  3. username [varchar(30)]
  4. password [varchar(30)]
  5. email [varchar(30)]

Tabel 2 (tbl_role) :

  1. id [primary key, int(11), ai]
  2. name [varchar(30)]
  3. description [varchar(50)]

Kemudian miminz ingin menampilkan data dengan daftar username (tbl_user), email (tbl_user) dan name (tbl_role). Bagaimana caranya? Agar name yang ada di tbl_role ditampilkan sesuai dengan id role yang ada di tbl_user? Hmmmm gimana ya? Aku siapa? Aku dimana? Yaaaa … solusinya bisa menggunakan Cara join table di CodeIgniter. Yuk cap cus cyn kita mulah ngoding.

Cara join table di CodeIgniter

Pertama sobat siapkan alat tempurnya terlebih dahulu :

  1. CodeIgniter
  2. Text Editor

Kedua buka Text Editor paling bagus kesayangan sobat dan masukkan kepunyaan sobat ke lubang yang mantap projek yang akan sobat gunakan sebagai latihan Cara join table di CodeIgniter

Ketiga ubah semua konfigurasi sehingga hasil akhirnya sobat sudah siap mulai ngoding untuk menyelesaikan Cara join table di CodeIgniter, ya sudah kalau masih belum paham miminz jelasin aja deh. Buat yang sudah siap alias hanya membutuhkan inti dari joinnya silakan lewat saja tahap ketiga ini. Jadi pertama sobat buka application\config\autoload.php dan tambahkan library database ($autoload[‘libraries’] = array(‘database’);) kemudian masuk ke application\config\database.php dan tambahkan database yang akan dibuat, disini kita akan menggunakan nama database db_susantokun seperti pada code dibawah ini :

$db['default'] = array(
	'dsn'	=> '',
	'hostname' => 'localhost',
	'username' => 'root',
	'password' => '',
	'database' => 'db_susantokun',
	'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
);

Untuk database nya bisa sobat buat sendiri dengan nama db_susantokun kemudian masukkan code dibawah pada SQL database yang telah dibuat :

CREATE TABLE `tbl_role` (
  `id` int(3) NOT NULL,
  `name` varchar(30) NOT NULL,
  `description` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data untuk tabel `tbl_role`
--

INSERT INTO `tbl_role` (`id`, `name`, `description`) VALUES
(1, 'administrator', 'Bagian pengelolaa website perusahaan'),
(2, 'member', 'Pengguna yang menggunakan website');

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

--
-- Struktur dari tabel `tbl_user`
--

CREATE TABLE `tbl_user` (
  `id` int(3) NOT NULL,
  `id_role` int(3) NOT NULL,
  `username` varchar(30) NOT NULL,
  `password` varchar(30) NOT NULL,
  `email` varchar(30) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data untuk tabel `tbl_user`
--

INSERT INTO `tbl_user` (`id`, `id_role`, `username`, `password`, `email`) VALUES
(1, 1, 'adminku', 'password', 'admin@admin.com'),
(2, 2, 'memberku', 'password', 'member@member.com');

--
-- Indexes for dumped tables
--

--
-- Indeks untuk tabel `tbl_role`
--
ALTER TABLE `tbl_role`
  ADD PRIMARY KEY (`id`);

--
-- Indeks untuk tabel `tbl_user`
--
ALTER TABLE `tbl_user`
  ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT untuk tabel yang dibuang
--

--
-- AUTO_INCREMENT untuk tabel `tbl_role`
--
ALTER TABLE `tbl_role`
  MODIFY `id` int(3) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT untuk tabel `tbl_user`
--
ALTER TABLE `tbl_user`
  MODIFY `id` int(3) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

Mulai Ngoding Cara join table di CodeIgniter

Ingat lebih baik sobat ngetik sendiri ya jangan langsung copas gitu aja, supay

Keempat sobat buka application\controllers\Welcome.php dan ubah code nya menjadi seperti dibawah ini :

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Welcome extends CI_Controller {

	public function __construct()
	{
			parent::__construct();
			$this->load->model(array('User_model'));
	}

	public function index()
	{
		$data['dataUser'] = $this->User_model->get_by_role();
		$this->load->view('welcome_message', $data);
	}
}

Penjelasan :

  • Pada function_index() kita membuat dataUser sebagai tempat penyimpanan data dari function get_by_role pada User_model
  • Kemudian di load dataUser tersebut dengan menambahkan $data pada $this->load->view(‘welcome_message’, $data); sehingga dataUser hanya dapat tampil pada view welcome_message

Kelima sobat buat User_model dan masukkan code berikut :

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class User_model extends CI_Model{

  public function __construct()
  {
    parent::__construct();
    //Codeigniter : Write Less Do More
  }

  public function get_by_role()
  {
      $this->db->select('
          tbl_user.*, tbl_role.id AS id_role, tbl_role.name
      ');
      $this->db->join('tbl_role', 'tbl_user.id_role = tbl_role.id');
      $this->db->from('tbl_user');
      $query = $this->db->get();
      return $query->result();
  }

}

Penjelasan :

  • Pada function get_by_role() terdapat sql untuk menampilkan data dari tbl_user dengan kondisi select data dari tbl_role dan menampilkan field tbl_role.name sehingga nanti name yang terdapat pada tbl_role bisa dipanggil
  • Pada $this->db->join(‘tbl_role’, ‘tbl_user.id_role = tbl_role.id’); adalah proses join antar table sehingga tbl_role name dapat dipanggil sesuai dengan id_role yang ada di tbl_user sama dengan id yang ada di tbl_role

Keenam buka application\views\welcome_message.php

<table>
	<thead>
		<tr>
			<th>No</th>
			<th>Username</th>
			<th>Email</th>
			<th>Role Name</th>
		</tr>
	</thead>
	<tbody>
		<?php
		$no = 0;
		foreach ($dataUser as $row):
		$no++ ?>
			<tr>
				<td><?=$no?>
				<td><?=$row->username?></td>
				<td><?=$row->email?></td>
				<td><?=$row->name?></td>
			</tr>
		<?php endforeach; ?>
	<tbody>
</table>

Penjelasan :

  • Kode di atas adalah untuk menampilkan sebuah tabel dimana isi nya terdiri dari No, Username, Email dan Role Name dengan isi yang diambil dari 2 tabel, disitu pun sudah saya buatkan cara membuat nomor urut otomatis sehingga nomor urut akan tampil sesuai dengan jumlah row nya.
  • Perhatikan bagian $dataUser as $row, itu adalah proses pengambilan data berdasarkan variabel $dataUser yang berdada di application\controllers\Welcome.php dimana $dataUser adalah data yang diambil dari application\models\User_model.php function get_by_role() yang disana ada join joinan.

Silakan sobat buka localhost/namaproject apakah hasilnya sama dengan gambar dibawah

Cara join table di CodeIgniter

Jika sama maka sobat telah berhasil join table di codeigniter dan jika tidak coba sobat cek lagi tutorial nya apakah sudah benar atau belum.

Bagaimana jika kita ingin menambahkan row description dari tabel role? Caranya cukup tambahkan <th>Description</th> pada <thead> dan <td><?=$row->description?> pada <tdbody> silakan sobat coba hal tersebut. Maka hasil nya akan bertuliskan seperti berikut :

A PHP Error was encountered
Severity: Notice

Message: Undefined property: stdClass::$description

Filename: views/welcome_message.php

Line Number: 21

Backtrace:

File: G:\xampp\htdocs\CodeIgniter-3.1.9\application\views\welcome_message.php
Line: 21
Function: _error_handler

File: G:\xampp\htdocs\CodeIgniter-3.1.9\application\controllers\Welcome.php
Line: 15
Function: view

File: G:\xampp\htdocs\CodeIgniter-3.1.9\index.php
Line: 315
Function: require_once

Kenapa demikian? Karena kita belum mendefinisikan field description pada tabel role untuk ditampilkan, solusinya sobat masuk ke application\models\User_model.php function get_by_role() dan tambahkan “, tbl_role.description” sehingga coding nya seperti berikut :

public function get_by_role()
  {
      $this->db->select('
          tbl_user.*, tbl_role.id AS id_role, tbl_role.name, tbl_role.description
      ');
      $this->db->join('tbl_role', 'tbl_user.id_role = tbl_role.id');
      $this->db->from('tbl_user');
      $query = $this->db->get();
      return $query->result();
  }

Silakan coba lagi muat localhost/namaproject maka hasilnya akan seperti gambar berikut :

Cara join table di CodeIgniter

Bagaimana jika ingin join 3 table? Sobat cukup tambahkan tbl_user.*, tbl_role.id AS id_role, tbl_role.name dan $this->db->join(‘tbl_role’, ‘tbl_user.id_role = tbl_role.id’); seperti pada coding berikut :

public function get_by_role()
  {
      $this->db->select('
          tbl_user.*, tbl_role.id AS id_role, tbl_role.name, tbl_role.description
          tbl_1.*, tbl_2.id AS id_2, tbl_2.field1
      ');
      $this->db->join('tbl_role', 'tbl_user.id_role = tbl_role.id');
      $this->db->join('tbl_2', 'tbl_1.id_2 = tbl_2.id');
      $this->db->from('tbl_user');
      $query = $this->db->get();
      return $query->result();
  }

Bagaimana jika ingin join 4 tabel? Ya sobat tinggal tambahkan lagi saja baris baru untuk join seperti pada coding diatas yang diberikan bold. Cukup mudah kan? Yaaaa semoga tutorial Cara join table di CodeIgniter ini dapat bermanfaat bagi sobat dan jangan lupa untuk memberikan komentar biar makin rame gitu dan miminz tambah semangat.

The post Cara join table di CodeIgniter appeared first on Susantokun.

]]>
https://www.susantokun.com/cara-join-table-di-codeigniter/feed/ 14
Cara membuat last login di CodeIgniter https://www.susantokun.com/cara-membuat-last-login-di-codeigniter/ https://www.susantokun.com/cara-membuat-last-login-di-codeigniter/#comments Mon, 13 Aug 2018 12:19:57 +0000 https://www.susantokun.com/?p=2146 Cara membuat last login di CodeIgniter – Susantokun. Cara membuat last login atau terakhir masuk di codeigniter, sebenarnya cukup simple karena tinggal mencatat kapan dia logout. Loh? Ko logout? Ya, karena untuk mengetahui kapan terakhir login pencatatan atau update data dilakukan ketika user logout, maka nanti ketika user kembali login bisa melihat kapan terakhir kali …

The post Cara membuat last login di CodeIgniter appeared first on Susantokun.

]]>
Cara membuat last login di CodeIgniterCara membuat last login di CodeIgniter – Susantokun. Cara membuat last login atau terakhir masuk di codeigniter, sebenarnya cukup simple karena tinggal mencatat kapan dia logout. Loh? Ko logout? Ya, karena untuk mengetahui kapan terakhir login pencatatan atau update data dilakukan ketika user logout, maka nanti ketika user kembali login bisa melihat kapan terakhir kali dia login (terakhir logout), jika diupdate ketika login maka namanya now login bukan last login :P. Intinya kapan terakhir kali user menggunakan sistem yang telah dibuat dalam waktu user berada di sistem. Langsung saja ke Cara membuat last login di CodeIgniter.

Cara membuat last login di CodeIgniter

Pertama sobat buka controller authentication (Auth.php) atau buat controller untuk fungsi logout dan masukkan code di bawah ini :

public function logout()
    {
        date_default_timezone_set("ASIA/JAKARTA");
        $date = array('last_login' => date('Y-m-d H:i:s'));
        $id = $this->session->userdata('id');
        $this->Auth_model->logout($date, $id);
        $this->session->sess_destroy();
        redirect('auth/login');
    }

Kedua sobat buat model nya dengan nama Auth_model dan masukkan code di bawah ini :

public function logout($date, $id)
    {
        $this->db->where('tbl_user.id', $id);
        $this->db->update('tbl_user', $date);
    }

Selesai.

Mudah kan? Jadi sobat hanya perlu update field last_login pada tbl_user ketika user logout dengan demikian Cara membuat last login di CodeIgniter terpenuhi. Berikut adalah penjelasan dari coding nya.

date_default_timezone_set("ASIA/JAKARTA");
$date = array('last_login' => date('Y-m-d H:i:s'));

date_default_timezone_set(“ASIA/JAKARTA”); adalah zona waktu agar nanti waktu last_login bisa sesuai dengan zona waktunya.

$date = array(‘last_login’ => date(‘Y-m-d H:i:s’)); meupakan proses pengambilan data ketika function logout dijalankan yang nantinya akan mengupdate field last_login berdasarkan id dari session user tersebut.

$this->db->update(‘tbl_user’, $date); berfungsi untuk mengupdate data tbl_user dengan data yang diambil dari $date yaitu last_login yang telah di definisikan di controller.

Itulah artikel Cara membuat last login di CodeIgniter yang dapat disampaikan, semoga dapat membatu sobat sekalian dalam pengerjaan projek nya dengan framework codeigniter. Untuk project Cara membuat last login di CodeIgniter ini bisa sobat download di https://github.com/Susantokun sebagai referensi dan untuk database nya pada arikel Cara update profile sesuai data yang login di CodeIgniter. Jika ada yang kurang dipahami silakan tanyakan pada kolom komentar dengan senang hati akan mimin jawab. Terima kasih dan selamat ngoding.

The post Cara membuat last login di CodeIgniter appeared first on Susantokun.

]]>
https://www.susantokun.com/cara-membuat-last-login-di-codeigniter/feed/ 2
Cara update profile sesuai data yang login di CodeIgniter https://www.susantokun.com/cara-update-profile-sesuai-data-yang-login-di-codeigniter/ https://www.susantokun.com/cara-update-profile-sesuai-data-yang-login-di-codeigniter/#comments Tue, 29 May 2018 07:04:21 +0000 https://www.susantokun.com/?p=2130 Cara update profile sesuai data yang login di CodeIgniter – Susantokun. Halu haluuu kembali bersama saya susantokun, kali ini kita akan membahas tentang Cara update profile sesuai data yang login di CodeIgniter, dimana data yang diupdate adalah identitas seperti nama depan, nama belakang, photo dan password dengan adanya password lama, password baru dan konfirmasi password. Jadi …

The post Cara update profile sesuai data yang login di CodeIgniter appeared first on Susantokun.

]]>
Cara Update Profile Sesuai Data yang Login di CodeIgniterCara update profile sesuai data yang login di CodeIgniter – Susantokun. Halu haluuu kembali bersama saya susantokun, kali ini kita akan membahas tentang Cara update profile sesuai data yang login di CodeIgniter, dimana data yang diupdate adalah identitas seperti nama depan, nama belakang, photo dan password dengan adanya password lama, password baru dan konfirmasi password. Jadi mengubah data oleh pengguna yang login untuk mengupdate data nya sendiri, karena saya pun dulu cukup kesusahan untuk mencari tutorial ini di si mbah tapi alhamduulilah sekarang sudah paham dan ingin berbagi bersama sobat – sobat sekalian. Baik langsung saja ke Cara update profile sesuai data yang login di CodeIgniter.

Cara update profile sesuai data yang login di CodeIgniter

Pertama sobat buka project ci_susantokun_register yang bisa sobat baca di cara membuat form pendaftaran di codeigniter atau download di Github dan ubah nama foldernya menjadi ci_susantokun.

Kedua buka application\controllers\Auth.php dan tambahkan kode berikut :

public function profile()
    {
        $data = konfigurasi('Profile');
        $data['get_all_userdata'] = $this->Auth_model->get_by_id($this->session->userdata('id'));
        $this->template->load('layout/template', 'authentication/profile', $data);
    }

    public function updateProfile()
    {
        $this->form_validation->set_rules('username', 'Username', 'trim|required|min_length[4]|max_length[15]');
        $this->form_validation->set_rules('first_name', 'Nama Depan', 'trim|required|min_length[2]|max_length[15]');
        $this->form_validation->set_rules('last_name', 'Nama Belakang', 'trim|required|min_length[2]|max_length[15]');
        $this->form_validation->set_rules('email', 'Email', 'trim|required|min_length[8]|max_length[50]');
        $this->form_validation->set_rules('phone', 'Telp', 'trim|required|min_length[11]|max_length[12]');

        $id = $this->session->userdata('id');
        $data = array(
            'username' => $this->input->post('username'),
            'first_name' => $this->input->post('first_name'),
            'last_name' => $this->input->post('last_name'),
            'email' => $this->input->post('email'),
            'phone' => $this->input->post('phone'),
        );
        if ($this->form_validation->run() == true) {
            if (!empty($_FILES['photo']['name'])) {
                $upload = $this->_do_upload();

                //delete file
                $user = $this->Auth_model->get_by_id($this->session->userdata('id'));
                if (file_exists('assets/upload/images/foto_profil/'.$user->photo) && $user->photo) {
                    unlink('assets/upload/images/foto_profil/'.$user->photo);
                }

                $data['photo'] = $upload;
            }
            $result = $this->Auth_model->update($data, $id);
            if ($result > 0) {
                $this->updateProfil();
                $this->session->set_flashdata('msg', show_succ_msg('Data Profile Berhasil diubah, silakan lakukan login ulang!'));
                redirect('auth/profile');
            } else {
                $this->session->set_flashdata('msg', show_err_msg('Data Profile Gagal diubah'));
                redirect('auth/profile');
            }
        } else {
            $this->session->set_flashdata('msg', show_err_msg(validation_errors()));
            redirect('auth/profile');
        }
    }

    public function updatePassword()
    {
        $this->form_validation->set_rules('passLama', 'Password Lama', 'trim|required|min_length[5]|max_length[25]');
        $this->form_validation->set_rules('passBaru', 'Password Baru', 'trim|required|min_length[5]|max_length[25]');
        $this->form_validation->set_rules('passKonf', 'Password Konfirmasi', 'trim|required|min_length[5]|max_length[25]');

        $id = $this->session->userdata('id');
        if ($this->form_validation->run() == true) {
            if (password_verify($this->input->post('passLama'), $this->session->userdata('password'))) {
                if ($this->input->post('passBaru') != $this->input->post('passKonf')) {
                    $this->session->set_flashdata('msg', show_err_msg('Password Baru dan Konfirmasi Password harus sama'));
                    redirect('auth/profile');
                } else {
                    $data = ['password' => get_hash($this->input->post('passBaru'))];
                    $result = $this->Auth_model->update($data, $id);
                    if ($result > 0) {
                        $this->updateProfil();
                        $this->session->set_flashdata('msg', show_succ_msg('Password Berhasil diubah'));
                        redirect('auth/profile');
                    } else {
                        $this->session->set_flashdata('msg', show_err_msg('Password Gagal diubah'));
                        redirect('auth/profile');
                    }
                }
            } else {
                $this->session->set_flashdata('msg', show_err_msg('Password Salah'));
                redirect('auth/profile');
            }
        } else {
            $this->session->set_flashdata('msg', show_err_msg(validation_errors()));
            redirect('auth/profile');
        }
    }

    private function _do_upload()
    {
        $config['upload_path']          = 'assets/upload/images/foto_profil/';
        $config['allowed_types']        = 'gif|jpg|png';
        $config['max_size']             = 100; //set max size allowed in Kilobyte
        $config['max_width']            = 1000; // set max width image allowed
        $config['max_height']           = 1000; // set max height allowed
        $config['file_name']            = round(microtime(true) * 1000);
        $this->load->library('upload', $config);

        if (!$this->upload->do_upload('photo')) {
            $this->session->set_flashdata('msg', $this->upload->display_errors('', ''));
            redirect('auth/profile');
        }
        return $this->upload->data('file_name');
    }

karena adanya upadate konfigurasi menjadi lebih simple maka dari itu untuk konfigurasi diubah formatnya menjadi  $data = konfigurasi (‘nama_halamannya’); dan menambahkan kode pada susantokun_helper.

Ketiga buka application\models\Auth_model.php dan tambahkan kode berikut :

public function update($data, $id)
    {
        $this->db->where($this->id, $id);
        $this->db->update($this->table, $data);
        return $this->db->affected_rows();
    }

    public function get_by_id($id)
    {
        $this->db->select('
            tbl_user.*, tbl_role.id AS id_role, tbl_role.name, tbl_role.description,
            ');
        $this->db->join('tbl_role', 'tbl_user.id_role = tbl_role.id');
        $this->db->from($this->table);
        $this->db->where($this->id, $id);
        $query = $this->db->get();
        return $query->row();
    }

pada function get_by_id dimana id nya di ambil dari si session yang ada pada controller dan query nya adalah menggabungkan data dari tbl_user dengan tbl_role dimanaz id dari tbl_role sama dengan id_role yang ada di tbl_user dengan cara di join sehinggal data dari tbl_role bisa diambil berdasarkan id user.

Keempat buka application\core\MY_Controller.php dan tambahkan kode berikut :

public function updateProfil()
    {
        if ($this->userdata != '') {
            $data = $this->Auth_model->select($this->userdata->id);

            $this->session->set_userdata('userdata', $data);
            $this->userdata = $this->session->userdata('userdata');
        }
    }

Kelima buka application\helpers\susantokun_helper.php dan tambahkan kode berikut :

function konfigurasi($title, $c_des=null)
{
    $CI = get_instance();
    $CI->load->model('Konfigurasi_model');
    $site = $CI->Konfigurasi_model->listing();
    $data = array(
      'title'        => $title.' | '.$site['nama_website'],
      'logo'         => $site['logo'],
      'favicon'      => $site['favicon'],
      'email'        => $site['email'],
      'no_telp'      => $site['no_telp'],
      'alamat'       => $site['alamat'],
      'facebook'     => $site['facebook'],
      'instagram'    => $site['instagram'],
      'keywords'     => $site['keywords'],
      'metatext'     => $site['metatext'],
      'about'        => $site['about'],
      'site'         => $site,
      'c_judul'      => $title,
      'c_des'        => $c_des,
    );
    return $data;
}

Keenam buat file baru application\views\authentication\profile.php dan masukkan kode berikut :

<div class="msg" style="display:none;">
	<?php echo @$this->session->flashdata('msg'); ?>
</div>
<div class="row">
	<div class="col-md-3">
		<!-- Profile Image -->
		<div class="box box-primary">
			<div class="box-body box-profile">
				<img class="profile-user-img img-responsive img-circle" src="<?php echo base_url('assets/upload/images/foto_profil/'.$this->session->userdata('photo')); ?>" alt="User profile picture">

				<h3 class="profile-username text-center"><?php echo $this->session->userdata('first_name')?> <?php echo $this->session->userdata('last_name'); ?></h3>

				<p class="text-muted text-center">
					<?php echo $get_all_userdata->name;?>
				</p>

				<ul class="list-group list-group-unbordered">
					<li class="list-group-item" style="text-align:center">
						<b>Username</b><br><a><?php echo $this->session->userdata('username')?></a>
					</li>
					<li class="list-group-item" style="text-align:center">
						<b>Tanggal Daftar</b><br><a><?php echo tgl_lengkap($this->session->userdata('created_on'))?></a>
					</li>
					<li class="list-group-item" style="text-align:center">
						<b>Terakhir Login</b><br><a><?php echo tgl_lengkap($this->session->userdata('last_login'))?></a>
					</li>
				</ul>
			</div>
		</div>
	</div>

	<div class="col-md-9">
		<div class="nav-tabs-custom">
			<ul class="nav nav-tabs">
				<li class="active"><a href="#settings" data-toggle="tab">Ubah Identitas</a></li>
				<li><a href="#password" data-toggle="tab">Ubah Password</a></li>
			</ul>
			<div class="tab-content">
				<div class="active tab-pane" id="settings">
					<form class="form-horizontal" action="<?php echo base_url('auth/updateProfile') ?>" method="POST" enctype="multipart/form-data">
						<div class="form-group">
							<label class="col-sm-2 control-label">Username</label>
							<div class="col-sm-10">
								<input type="text" class="form-control" placeholder="Username" name="username" value="<?php echo $this->session->userdata('username'); ?>">
							</div>
						</div>
						<div class="form-group">
							<label class="col-sm-2 control-label">Nama Depan</label>
							<div class="col-sm-10">
								<input type="text" class="form-control" placeholder="Nama Depan" name="first_name" value="<?php echo $this->session->userdata('first_name'); ?>">
							</div>
						</div>
						<div class="form-group">
							<label class="col-sm-2 control-label">Nama Belakang</label>
							<div class="col-sm-10">
								<input type="text" class="form-control" placeholder="Nama Belakang" name="last_name" value="<?php echo $this->session->userdata('last_name'); ?>">
							</div>
						</div>
						<div class="form-group">
							<label class="col-sm-2 control-label">Email</label>
							<div class="col-sm-10">
								<input type="email" class="form-control" placeholder="Email" name="email" value="<?php echo $this->session->userdata('email'); ?>">
							</div>
						</div>
						<div class="form-group">
							<label class="col-sm-2 control-label">Telp</label>
							<div class="col-sm-10">
								<input type="number" class="form-control" placeholder="Telp" name="phone" value="<?php echo $this->session->userdata('phone'); ?>">
							</div>
						</div>
						<div class="form-group">
							<label class="col-sm-2 control-label">Foto</label>
							<div class="col-sm-10">
								<input type="file" class="form-control" placeholder="Foto" name="photo">
							</div>
						</div>

						<div class="form-group">
							<div class="col-sm-offset-2 col-sm-10">
								<button type="submit" class="btn btn-primary btn-flat"><i class="fa fa-check-circle"></i> Simpan</button>
							</div>
						</div>
					</form>
				</div>
				<div class="tab-pane" id="password">
					<form class="form-horizontal" action="<?php echo base_url('auth/updatePassword') ?>" method="POST">
						<div class="form-group">
							<label for="passLama" class="col-sm-2 control-label">Password Lama</label>
							<div class="col-sm-10">
								<input type="password" class="form-control" placeholder="Password Lama" name="passLama">
							</div>
						</div>
						<div class="form-group">
							<label for="passBaru" class="col-sm-2 control-label">Password Baru</label>
							<div class="col-sm-10">
								<input type="password" class="form-control" placeholder="Password Baru" name="passBaru">
							</div>
						</div>
						<div class="form-group">
							<label for="passKonf" class="col-sm-2 control-label">Konfirmasi Password</label>
							<div class="col-sm-10">
								<input type="password" class="form-control" placeholder="Konfirmasi Password" name="passKonf">
							</div>
						</div>

						<div class="form-group">
							<div class="col-sm-offset-2 col-sm-10">
								<button type="submit" class="btn btn-primary btn-flat"><i class="fa fa-check-circle"></i> Simpan</button>
							</div>
						</div>
					</form>
				</div>
			</div>
		</div>
	</div>
</div>

Simpan dan silakan coba dengan mengetikan localhost/ci_susantokun apakah sama hasil nya dengan gambar dibawah atau tidak.

Itulah artikel tentang cara update profile sesuai data yang login di codeigniter yang dapat saya sampaikan, kurang lebihnya mohon maaf dan jangan lupa untuk terus kunjungi susantokun.com karena masih bayak tutorial yang akan terus update :D. Terima kasih.

Untuk databasenya bisa di download (db_susantokun) dan demo nya (disini)

The post Cara update profile sesuai data yang login di CodeIgniter appeared first on Susantokun.

]]>
https://www.susantokun.com/cara-update-profile-sesuai-data-yang-login-di-codeigniter/feed/ 9
Cara Membuat Form Pendaftaran di CodeIgniter https://www.susantokun.com/cara-membuat-form-pendaftaran-di-codeigniter/ https://www.susantokun.com/cara-membuat-form-pendaftaran-di-codeigniter/#comments Mon, 28 May 2018 04:12:56 +0000 https://www.susantokun.com/?p=2119 Cara Membuat Form Pendaftaran di CodeIgniter – Susantokun. Halu haluuu kembali lagi bersama susantokun, kali ini kita akan membahas Cara Membuat Form Pendaftaran di CodeIgniter dimana untuk form login nya sudah saya buat pada artikel Cara Membuat Multi Login di CodeIgniter. Sebenarnya untuk form registrasi atau pendaftaran ini hanya menginputkan atau memasukkan data ke database, namun karena …

The post Cara Membuat Form Pendaftaran di CodeIgniter appeared first on Susantokun.

]]>
Cara Membuat Form Pendaftaran di CodeIgniterCara Membuat Form Pendaftaran di CodeIgniter – Susantokun. Halu haluuu kembali lagi bersama susantokun, kali ini kita akan membahas Cara Membuat Form Pendaftaran di CodeIgniter dimana untuk form login nya sudah saya buat pada artikel Cara Membuat Multi Login di CodeIgniter. Sebenarnya untuk form registrasi atau pendaftaran ini hanya menginputkan atau memasukkan data ke database, namun karena adanya hash password, efek validasi maka saya buatkan Cara Membuat Form Pendaftaran di CodeIgniter ini agar sobat – sobat lebih paham dan terus mengikuti alur nya. Langsung saja ke Cara Membuat Form Pendaftaran di CodeIgniter.

Cara Membuat Form Pendaftaran di CodeIgniter

Pertama sobat buka projek ci_susantokun_login di text editor kesayangan sobat, inget … text editor … oke.

Kedua buka application\controllers\Auth.php dan tambahkan function berikut :

public function register()
    {
      $site = $this->Konfigurasi_model->listing();
      $data = array(
          'title'     => 'Register | '.$site['nama_website'],
          'favicon'   => $site['favicon'],
          'site'      => $site
      );
      $this->template->load('authentication/layout/template','authentication/register',$data);
    }

di atas adalah function untuk menampilkan form pendaftaran yang akan digunakan untuk proses pendaftaran.

Ketiga buat file bernama register.php di view authentication application\views\authentication\register.php dan masukkan code berikut :

<div class="register-box">
	<div class="register-logo">
		<a href="<?php echo base_url() ;?>"><b><?php echo $site['nama_website']; ?></b></a>
	</div>

	<div class="register-box-body">
		<font color="green">
			<?php echo $this->session->flashdata('pesan'); ?>
		</font>
		<p class="login-box-msg">Register a new membership</p>
		<?php echo form_open('auth/check_register','') ;?>
		<div class="form-group has-feedback">
			<input type="text" name="username" class="form-control" required placeholder="Username">
			<span class="glyphicon glyphicon-user form-control-feedback"></span>
			<?php echo form_error('username','<div class="text-danger"><small>','</small></div>') ;?>
		</div>
		<div class="form-group has-feedback">
			<input type="email" name="email" class="form-control" required placeholder="Email">
			<span class="glyphicon glyphicon-envelope form-control-feedback"></span>
			<?php echo form_error('email','<div class="text-danger"><small>','</small></div>') ;?>
		</div>
		<div class="form-group has-feedback">
			<input type="password" name="password" class="form-control" required placeholder="Password">
			<span class="glyphicon glyphicon-lock form-control-feedback"></span>
			<?php echo form_error('password','<div class="text-danger"><small>','</small></div>') ;?>
		</div>
		<div class="row">
			<div class="col-xs-4">
		      <button type="submit" class="btn btn-primary btn-block btn-flat">Register</button>
		      <?php echo form_close() ;?>
			</div>
		</div>
		<a href="<?php echo base_url('auth/login') ;?>" class="text-center">I already have a membership</a>
	</div>
</div>

sobat lihat pada bagian form_open disana diarahkan ke controller auth function check_register, artinya ketik di submit maka data – data akan diarahkan dulu ke check_register untuk di cek kemudian sesuai dengan kondisinya akan dimasukkan ke database atau gagal. Silakan sobat cek dengan mengetikan localhost/ci_susantokun-master/auth/register jika berhasil mengikuti Cara Membuat Form Pendaftaran di CodeIgniter maka tampilannya sama dengan gambar dibawah :

Cara Membuat Form Pendaftaran di CodeIgniter

Keempat buat function di Auth dengan nama check_register dan masukkan code berikut :

public function check_register()
    {
      $site = $this->Konfigurasi_model->listing();
      $data = array(
          'title'     => 'Register | '.$site['nama_website'],
          'favicon'   => $site['favicon'],
          'site'      => $site
      );
      $this->form_validation->set_rules('username', 'Username', 'trim|required|min_length[5]|max_length[50]');
      $this->form_validation->set_rules('email', 'Email', 'trim|required|min_length[5]|max_length[50]');
      $this->form_validation->set_rules('password', 'Password', 'trim|required|min_length[5]|max_length[20]');
      if ($this->form_validation->run() == false) {
        $this->template->load('authentication/layout/template','authentication/register',$data);
      }
      else {
        $this->Auth_model->reg();
        $this->session->set_flashdata('alert', '<p class="box-msg">
          <div class="info-box alert-success">
          <div class="info-box-icon">
          <i class="fa fa-check-circle"></i>
          </div>
          <div class="info-box-content" style="font-size:14">
          <b style="font-size: 20px">SUKSES</b><br>Pendaftaran berhasil, silakan login.</div>
          </div>
          </p>
        ');
        redirect('auth/login','refresh',$data);
      }
    }

Kelima buka Auth_model dan masukkan kode berikut :

public function reg()
    {
      date_default_timezone_set('ASIA/JAKARTA');
      $data = array(
        'username' => $this->input->post('username'),
        'email' => $this->input->post('email'),
        'id_role' => '2',
        'created_on' => date('Y-m-d H:i:s'),
        'password' => get_hash($this->input->post('password'))
      );
      return $this->db->insert('tbl_user', $data);
    }

function reg adalah function yang kan memasukkan data – data yang terdapat pada form pendaftaran ke database. Silakan sobat lakukan pendaftaran dan lihat apakah hasilnya akan sama seperti pada gambar dibawah atau tidak, jika tidak silakan bertanya dan tuliskan keluhannya pada kolom komentar.

Cara Membuat Form Pendaftaran di CodeIgniter

Cek database apakah data bertambah atau tidak, jika ingin tutorial lengkap dari Cara Membuat Form Pendaftaran di CodeIgniter sobat bisa lihat video yang sudah saya buat agar sobat bisa lebih paham, jangan lupa di like, comment, dan sussskraib juga ya. Terima kasih.

Live Demo

The post Cara Membuat Form Pendaftaran di CodeIgniter appeared first on Susantokun.

]]>
https://www.susantokun.com/cara-membuat-form-pendaftaran-di-codeigniter/feed/ 7