Friday, November 29, 2013

Log In (Codeigniter)

Pada artikel terdahulu penulis telah mencoba membuat log in, hanya saja dengan PHP manual. pada kesempatan kali ini penulis akan mencoba membuat log in menggunakan Codeigniter. Request mas siswo, semoga membantu anda mas :) .

pertama buat database, berikut querynya

create database latihan;

use latihan;

lalu buat table users yang akan digunakan untuk log in. berikut query dari table users

CREATE TABLE IF NOT EXISTS `users` (
  `email` varchar(80) NOT NULL,
  `password` varchar(40) NOT NULL,
  PRIMARY KEY (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

INSERT INTO `users` (`email`, `password`) VALUES
('admin', '21232f297a57a5a743894a0e4a801fc3');

sekarang waktunya konfigurasi database,config dan autoload.

buka file database.php pada folder application/config/database.php


  1. $db['default']['hostname'] = 'localhost';
  2. $db['default']['username'] = 'root';
  3. $db['default']['password'] = '';
  4. $db['default']['database'] = 'latihan';
  5. $db['default']['dbdriver'] = 'mysql';
lalu buka file config.php pada folder application/config/config.php, cari baris kode berikut

$config['encryption_key'] = '';

isikan kata apapun pada kutip tersebut, contoh 

$config['encryption_key'] = 'deden';

lalu buka file autoload.php pada folder application/config/autoload.php, cari baris kode berikut

$autoload['libraries'] = array('');

ubah menjadi

$autoload['libraries'] = array('session','database');

setelah itu siapkan modelnya, berikut modelnya

user_model.php

  1. <?php
  2. class User_Model extends CI_Model
  3. {
  4.     
  5.     function __construct(){
  6.         parent::__construct();
  7.     }
  8.     
  9. function masuk($email,$password){
  10.         $query=$this->db->query("select * from users where email='$email' and password='$password'");
  11.         return ($query->num_rows()>0) ? $query->row() : FALSE;
  12. }

  13. }
simpan file tersebut pada folder application/models, lalu buat controllernya.

login.php


  1. <?php if (! defined('BASEPATH')) exit('No direct script access allowed');

  2. class Login extends CI_Controller {

  3. function index(){
  4.     $this->load->view('login');
  5. }

  6. function masuk(){
  7.     
  8.     $this->load->model('user_model');
  9.      $password   =   md5($this->input->post('password'));
  10.      $email   =   $this->input->post('email');
  11.     $query = $this->user_model->masuk($email,$password);
  12.  if($query==TRUE){
  13.        $level = $this->user_model->detail($email);
  14.        $data = array('username' => $email);
  15.        $this->session->set_userdata($data);
  16.        redirect('admin');      
  17.    }else{
  18.        $this->index();     
  19.   

  20. }


  21. function logout(){
  22. $this->session->sess_destroy(); 
  23.     $this->index();     
  24.   
  25. }

  26. }
function masuk digunakan untuk mengatur log in, atau verifikasi user dan password sedangkan fungsi logout digunakan untuk membuat fungsi keluar/ menghapus session.

simpan file tersebut pada folder application/controllers. lalu buat file untuk form log in. berikut kodenya

login.php
    1. <h3><span></span> Login Admin<h3>

    2. <?php echo form_open('login/masuk'); ?>

    3. <div style="font-size: 15px;">
    4. <div>
    5.   <div>
    6.     <label >Email</label>
    7.     <input name="email" type="text" placeholder="Masukan Email"/> 
    8.   </div>
    9.   <di>
    10.     <label >Password</label>
    11.     <input name="password" type="password" placeholder="Masukan Password"/>
    12.   </div>
    13. </div>
    14.   <div><button type="submit" >Login</button></div>
    15. </div>
    16. <?php echo form_close();?>
                                    simpan file tersebut pada folder application/views, lalu buat satu halaman untuk halaman adminnya.

                                    admin.php

                                    1. Selamat Datang di halaman admin
                                    2. <a href="<?php echo base_url()?>login/logout">Log Out</a>
                                    simpan file tersebut pada folder application/views.

                                    Halaman Login

                                    Ketika log in berhasil

                                    setelah logout halaman kembali ke halaman admin

                                    yap sekian ulasan mengenai log in di codeigniter, semoga bermanfaat , jika ada masalah silahkan di komen saja ..... 


                                    Saturday, October 26, 2013

                                    Membuat Detail Berita Dengan Codeigniter

                                     Gambar Detail Biodata


                                    ya ini request-an dari ade kelas bung marvin, semoga bisa membantu.

                                    Pada kasus kali ini penulis membuat sebuah database dengan nama latihan dan sebuah table dengan nama biodata. berikut SQLnya

                                    Ini digunakan untuk membuat sebuah database

                                    CREATE DATABASE IF NOT EXISTS `latihan` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
                                    USE `latihan`;

                                    ini digunakan untuk membuat table

                                    CREATE TABLE IF NOT EXISTS `biodata` (
                                      `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
                                      `nama` varchar(80) DEFAULT NULL,
                                      `alamat` varchar(100) DEFAULT NULL,
                                      `jenis_kelamin` varchar(2) DEFAULT NULL,
                                      `tgl_lahir` date DEFAULT NULL,
                                      PRIMARY KEY (`id`)
                                    ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

                                    Ini digunakan untuk menginput data

                                    INSERT INTO `biodata` (`id`, `nama`, `alamat`, `jenis_kelamin`, `tgl_lahir`) VALUES
                                    (1, 'Deydra Novitasari', 'Bandung', 'P', '1995-11-27'),
                                    (2, 'Deden Hendra Permana', 'Bandung', 'L', '1994-11-29');

                                    database telah siap digunakan, sekarang harus ada file CI yang dikonfigurasi, pertama ubah file pada folder application/config/autoload.php cari baris kode berikut

                                    $autoload['libraries'] = array('');

                                    ubah menjadi

                                    $autoload['libraries'] = array('database');

                                    simpan file, lalu file application/config/routes.php cari file berikut

                                    $route['default_controller'] = "welcome";

                                    ubah menjadi

                                    $route['default_controller'] = "biodata";

                                    simpan file berikut lalu buka application/config/database.php, cari kode berikut

                                    $db['default']['hostname'] = 'localhost';
                                    $db['default']['username'] = '';
                                    $db['default']['password'] = '';
                                    $db['default']['database'] = '';
                                    $db['default']['dbdriver'] = 'mysql';

                                    ubah menjadi

                                    $db['default']['hostname'] = 'localhost';
                                    $db['default']['username'] = 'root';
                                    $db['default']['password'] = '';
                                    $db['default']['database'] = 'latihan';
                                    $db['default']['dbdriver'] = 'mysql';

                                    penjelasan :

                                        file autoload merupakan file yang berfungsi untuk meload library yang telah disediakan oleh CI
                                        file routes merupakan file yang digunakan untuk mengatur controller mana yang akan pertama kita load, pada kasus ini kita meload controller biodata
                                        file database merupakan file yang digunakan untuk mengatur koneksi database.

                                    setelah selesai konfigurasi, pertama yang harus dibuat adalah model, model sendiri merupakan file yang bertugas mengatur interaksi dengan  database seperti insert,edit,delete,view atau bahasa kerennya sekarang CRUD (create,read,update,delete).

                                    biodata_model.php

                                    <?php
                                    class Biodata_Model extends CI_Model
                                    {
                                       
                                    function view_all(){
                                        $query = $this->db->query("SELECT id,nama FROM biodata");
                                        return ($query->num_rows() > 0)? $query->result():FALSE;
                                    }

                                    function view_by($id){
                                        $query = $this->db->query("SELECT * FROM biodata where id='$id'");
                                        return ($query->num_rows() > 0)? $query->result():FALSE;
                                    }

                                    }

                                    simpan file tersebut pada folder application/models dengan nama biodata_model.php, setelah itu buat controller nya

                                    biodata.php

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

                                    class Biodata extends CI_Controller {

                                        public function index()
                                        {
                                            $this->load->model('biodata_model');
                                            $data['biodata']    =   $this->biodata_model->view_all();
                                            $this->load->view('biodata_view',$data);
                                        }
                                       
                                           public function detail($Id)
                                        {
                                            $this->load->model('biodata_model');
                                            $data['biodata']    =   $this->biodata_model->view_by($Id);
                                            $this->load->view('biodata_detail',$data);
                                        }
                                    }

                                    simpan pada folder application/controllers  dengan nama biodata.php

                                    penjelasan :

                                        function index() merupakan fungsi yang digunakan untuk menampilkan semua data
                                        function detail() merupakan fungsi yang digunakan untuk menampilkan detail dat

                                    yang terakhir adalah membuat tampilannya

                                    biodata_view.php

                                    <h3>Data Biodata</h3>

                                    <?php
                                        if(!empty($biodata)){//JIKA DATA TIDAK KOSONG
                                            ?>
                                                <table>
                                                    <tr>
                                                        <td>ID</td>
                                                        <td>Nama</td>
                                                        <td>Aksi</td>
                                                    </tr>
                                            <?php
                                            foreach($biodata as $data){
                                            ?>
                                                    <tr>
                                                        <td><?php echo $data->id?></td>
                                                        <td><?php echo $data->id?></td>
                                                        <td><a href="index.php/biodata/detail/<?php echo $data->id?>">Lihat Detail</a></td>
                                                    </tr>
                                            <?php
                                            }
                                            ?>
                                                </table>
                                            <?php
                                        }else{//JIKA DATA KOSONG
                                            echo "Data kosong";
                                        }
                                    ?>

                                    simpan pada folder application/views dengan nama biodata_view.php. lalu buat file view detailnya

                                    biodata_detail.php

                                    <h3>Detail Biodata</h3>

                                    <?php
                                        if(!empty($biodata)){//JIKA DATA TIDAK KOSONG
                                           
                                            foreach($biodata as $data){
                                            ?>
                                            <table>
                                                    <tr>
                                                        <td>ID</td>
                                                        <td><?php echo $data->id?></td>
                                                    </tr>
                                                    <tr>
                                                        <td>Nama</td>
                                                        <td><?php echo $data->nama?></td>
                                                     </tr>
                                                    <tr>
                                                        <td>Jenis Kelamin</td>
                                                        <td><?php echo $data->jenis_kelamin?></td>
                                                     </tr>
                                                    <tr>
                                                        <td>Alamat</td>
                                                        <td><?php echo $data->alamat?></td>
                                                     </tr>
                                                   
                                                </table>
                                            <?php
                                            }
                                        }else{//JIKA DATA KOSONG
                                            echo "Data kosong";
                                        }
                                    ?>

                                    simpan file tersebut pada folder yang sama. selesailah sampai disini, semoga bermanfaat smiley

                                    bila ada keluhan silahkan komen saja