Senin, 18 Februari 2013

Tutorial membuat form login dengan PHP framework codeigniter

Pada tutorial sebelumnya, saya sudah memperkenalkan sedikit tentang MVC pada PHP framework codeigniter. nah, sekarang saya mau coba memperkenalkan sedikit tentang cara membuat Form login dengan menggunakan PHP framework codeigniter. mungkin teman-teman sudah banyak yang tahu tentang bagaimana cara membuat form login dengan PHP framework codeigniter, tapi untuk teman-teman yang belum tahu atau bahkan masih bingung bagai mana cara membuat form login dengan PHP framework codeigniter silahkan di lihat coding nya di bawah.

  1. Pertama buatlah database myweb_db.
    CREATE DATABASE myweb_db
     
  2. Buat table user pada database myweb_db
    CREATE TABLE `m_user` (
      `usr_id` int(11) NOT NULL auto_increment,
      `usr_nama` varchar(75) NOT NULL default 'anymous',
      `usr_name` varchar(20) NOT NULL default 'anymous',
      `usr_pwd` varchar(32) NOT NULL default '',
      `usr_isactive` tinyint(1) NOT NULL default '1',
      PRIMARY KEY  (`usr_id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
     
  3. Insert data pada table user
    INSERT INTO m_user VALUES('','Administrator','Admin','Admin','1')
     
  4. Ubah database.php pada application/config
    $active_group = 'default';
    $active_record = TRUE;
    
    $db['default']['hostname'] = 'localhost';
    //username mysql anda
    $db['default']['username'] = 'root';
    //password mysql anda
    $db['default']['password'] = '';
    //database anda
    $db['default']['database'] = 'myweb_db';
    $db['default']['dbdriver'] = 'mysql';
    $db['default']['dbprefix'] = '';
    $db['default']['pconnect'] = TRUE;
    $db['default']['db_debug'] = TRUE;
    $db['default']['cache_on'] = FALSE;
    $db['default']['cachedir'] = '';
    $db['default']['char_set'] = 'utf8';
    $db['default']['dbcollat'] = 'utf8_general_ci';
    $db['default']['swap_pre'] = '';
    $db['default']['autoinit'] = TRUE;
    $db['default']['stricton'] = FALSE;
     
  5. Setting autoload.php pada application/config menjadi
    /*
    | -------------------------------------------------------------------
    |  Auto-load Libraries
    | -------------------------------------------------------------------
    | These are the classes located in the system/libraries folder
    | or in your application/libraries folder.
    |
    | Prototype:
    |
    | $autoload['libraries'] = array('database', 'session', 'xmlrpc');
    */
    
    $autoload['libraries'] = array('database','session');
    
    
    /*
    | -------------------------------------------------------------------
    |  Auto-load Helper Files
    | -------------------------------------------------------------------
    | Prototype:
    |
    | $autoload['helper'] = array('url', 'file');
    */
    
    $autoload['helper'] = array('url','form');
    
    
  6. Buat controller login dengan nama login.php pada application/controllers, yang berisikan:
    <?php
     
     class login extends CI_Controller
     {
     
      function __construct()
      {
       //membuat construktor;
       parent::__construct();
       //meload helper form dan url
       $this->load->helper(array('form','url'));
       //meload model login
       $this->load->model('m_login');
      }
      
      function index()
      {
       //membuat variable judul web yang ditampilkan sebagai judul browser
       $data['title'] = 'MYWEB';
       //membuat nama header yang ditampilkan pd form login
       $data['loginheader'] = 'Login';
       //membuat string gagal dimana nantinya digunakan untuk validasi
       $data['gagal'] = '';
       //meload view login
       $this->load->view('v_login',$data);
      }
      
      function cekuser()
      {
       //memanggil model login
       $data['query'] = $this->m_login->cekdb();
       //mengecek isi dari model login
       if($data['query']==null)
       {
        return false;
       }
       else
       {
        return $data['query'];
       }
      }
      
      function proseslogin()
      {
       //membuat variable judul web yang ditampilkan sebagai judul browser
       $data['title'] = 'MYWEB';
       //membuat nama header yang ditampilkan pd form login
       $data['loginheader'] = 'Login';
       //megecek isi dari fungsi cekuser diatas
       //jika data ada maka login berhasil
       if($this->cekuser()==true)
       {
        //membuat variable logo yang nanti ditampilkan pd view
        $data['logo'] = 'MYWEB';
        //membuat variable account yang nanti ditampilkan pd view
        $data['username'] = 'Account: '.$this->input->post('username');
        //menyimpan data pada array
        $newdata = array
        (
         'username'=>$data['username'],
         'islogin'=>true
        );
        //membuat sesion
        $this->session->set_userdata($newdata);
        //menampilkan view home
        $this->load->view('v_home',$data);
       }
       else
       {
        //membuat validasi gagal yang ditampilkan pada form login
        $data['gagal'] = '<div id="notification">Maaf, Proses Login Gagal!<BR>1. Username atau Password anda salah.<BR>2. Coba periksa kembali keadaan <span class="red">Caps lock</span>.</div>';
        //memanggil view login
        $this->load->view('v_login',$data);
       }
      }
      
      function logout()
      {
       //menghapus sesion
       $this->session->sess_destroy();
       //kembali ke form login
       redirect('login/index');  
      }
     
     }
    ?>
    
    
  7. Selanjutnya membuat model login, dimana pada model ini dikhususkan untuk koneksi pada database. simpan dengan nama m_login.php pada application/models
    <?php
     class m_login extends CI_Model
     {
      public function cekdb()
      {
       //mengambil data dari form login username
       $username = $this->input->post('username');
       //mengambil data dari form login password
       $password = $this->input->post('password');
       
       //sql select usr_id
       $this->db->select('usr_id');
       //sql where usr_name = username yang diambil dari form login
       $this->db->where('usr_name', $username);
       //sql where usr_pwd = password yang diambil dari form login
       $this->db->where('usr_pwd', md5($password));
       //sql where usr_isactive = aktif
       $this->db->where('usr_isactive','1');
       //sql tabel yang dipilih m_user
       $query = $this->db->get('m_user');
       //perulangan nilai array yang berisi data dari query sql diatas
       foreach($query->result() as $row)
       {
        return $row->usr_id;
       }
      }
       
     }
    
    ?>
     
    //Untuk penjelasan tentang perulangan nilai array, akan saya jelaskan pada tutorial "Fungsi Foreach" selanjutnya  
  8. Membuat view login, dimana view ini adalah merupakan hasil yang akan dilihat oleh user. disimpan dengan nama v_login.php pada application/views.
    <html>
     <head>
      <!-- menampilkan judul pada browser -->
      <title><?=$title?></title>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      <link rel="stylesheet" type="text/css" media="all" href="<?php echo base_url();?>/login.css" />  
     </head>
     <body>
      <?php echo form_open("login/proseslogin"); ?>
      <div id="wrap">
       <div id="maincontent">
        <!-- menampilkan header login -->
        <div id="header"><?=$loginheader?></div>
        <div id="content">
          <!-- menampilkan validasi login -->
          <?=$gagal?>
          <div id="label">Usernama :</div>
          <div id="form"><input type="text" name="username"></div>
          <div id="label">Password :</div>
          <div id="form"><input type="password" name="password"></div>
          <div id="label">&nbsp;</div>
          <div id="form"><input type="submit" value="Login"/></div>
        </div>
        <div id="footer"></div>
       </div>
      </div>
      </form>
     </body>
    </html>
    
    
  9. Buat view home.php pada application/views. Dimana nanti jika proses login sukses, maka akan menampilkan home.php
    <html>
     <head>
      <!-- menampilkan judul pada browser -->
      <title><?=$title?></title>
      <link rel="stylesheet" type="text/css" media="all" href="<?php echo base_url();?>/css/home.css" />  
     </head>
     <body  topmargin="0" leftmargin="0">
      <div id="wrap">
       <div id="maincontent">
        <div id="header">
         <!-- menampilkan judul logo di header -->
         <div class="logo"><?=$logo?></div>
         <!-- menampilkan account name di header -->
         <div class="account"><?=$username?>, <a href="<?php echo site_url(); ?>/login/logout">Logout</a></div>
         <div id="clear"></div>
        </div>
       </div>
      </div>
     </body>
    </html>
     
  10. Membuat css login, untuk memperindah tampilan form, disimpan dengan nama login.css pada root folder CodeIgniter xampp/htdocs/CodeIgniter/
    /* 
    Theme Name: Away Login Theme 
    Description: Theme #1
    Author: Darmawan
    Author URI: http://darmawantm.blogspot.com 
    Version: 1.0 
    */  
    body {  
     font-family: tahoma, "Bitstream Charter", serif;  
     font-size:12px;
     overflow:scroll;
    } 
    #wrap {  
     border:solid 2px #999999; 
     width:270px;  
     margin:0 auto;  
     margin-top:200px;
     padding:2px;  
     background:#9999CC;  
    }  
    #maincontent {  
     border:solid 2px #fff; 
     background:#9999CC; 
     padding: 5px;
    }  
    #header{
     padding:5px;
     font-weight:bold;
     font-size:14px;
    }
    #content{
     border:solid 2px #fff; 
     background:#fff; 
     padding: 5px;
    
    }
    #notification{
     background:#FFFF99;
     border:solid 1px #FFCC00; 
     padding:3px;
    }
    #label{
     float:left;
     width:70px;
      margin:5px;
    }
    #form{
     margin:5px;
    }
    .red{
     color:#CC0000;
    }
    
    
  11. Setting routes.php pada application/config, menjadi
    | -------------------------------------------------------------------------
    | RESERVED ROUTES
    | -------------------------------------------------------------------------
    |
    | There area two reserved routes:
    |
    | $route['default_controller'] = 'welcome';
    |
    | This route indicates which controller class should be loaded if the
    | URI contains no data. In the above example, the "welcome" class
    | would be loaded.
    |
    | $route['404_override'] = 'errors/page_missing';
    |
    | This route will tell the Router what URI segments to use if those provided
    | in the URL cannot be matched to a valid route.
    |
    */
    
    $route['default_controller'] = "login";
    $route['404_override'] = "";
    
    $route['scaffolding_trigger'] = "post";
     
  12. Jalankan dengan membuka http://localhost/myweb
Selesai. Silahkan tunggu turotial selanjutnya.

Minggu, 17 Februari 2013

Pengertian MVC pada PHP framework codeigniter

Codeigniter adalah sebuah framework untuk pengembangan aplikasi web site menggunakan PHP.

Dengan menggunakan Codeigniter, kita dapat melakukan pengembangan situs dengan lebih cepat daripada membuat nya dari awal karena Codeigniter memiliki banyak library yang memudahkan kita untuk membuat berbagai macam fungsi.

Selain itu, Codeigniter juga memudahkan kita dari segi coding termasuk mengurangi banyaknya code yang harus kita pikirkan dalam membuat website

Pengertian MVC di Codeigniter

MVC atau Model - View - Controller adalah development pattern yang memisahkan logic aplikasi dengan bagian presentation.

Codeigniter dibuat dengan menggunakan model MVC sehingga meminimalkan coding yang harus kita buat.

Model

Model merepresentasikan struktur data dari aplikasi kita. Pada intinya, di model ini memiliki banyak fungsi yang terfokus untuk melakukan retrieve, insert, update, dan delete record dari database.

View

View adalah bagian yang diperlihatkan pada user. Jadi, halaman web yang ditampilkan di browser adalah code yang kita tuliskan di bagian view. Sebuah view dapat berupa file penuh, atau hanya potongan seperti header atau footer.

Controller

Controller bertugas untuk menjembatani antara model dan view. Selain itu controller juga bertugas untuk mengambil library yang ada pada Codeigniter.

Di dalam Codeigniter, kita tidak harus selalu menggunakan ketiga bagian di atas, kita bisa saja tidak menggunakan model jika aplikasi kita tidak mengambil data dari dalam database.
pengertian mvc di codeigniter

Selain itu kita juga dapat melakukan coding fungsi retrieve database di dalam controller. Hal ini memudahkan developer untuk melakukan coding di bagian manapun dia inginkan.

Semoga bermanfaat.

sumber: Codeigniter

Teknologi Terbaru 2013 : Meja Masa Depan


Teknologi Terbaru 2012 : Meja Masa Depan Microsoft Surface dan EXOdesk

Sobat mungkin sudah sering melihat video maupun film yang menampilkan kecanggihan teknologi terbaru untuk masa depan. Tapi apa jadinya jika hal tersebut menjadi nyata dan bisa sobat miliki? Saat ini mungkin fungsi meja bagi sobat hanya sebagai peralatan rumah tangga untuk meletakkan peralatan tulis menulis atau sekedar pengisi interior ruangan. Pada awal tahun 2011, beredar kabar munculnya teknologi TV hologram. Akan tetapi, dipenghujung tahun 2011, Microsoft membuat sebuah terobosan dengan teknologi yang diberi nama Microsoft Surface, dimana sebuah kombinasi antara meja, komputer, kamera, serta touch sensivity berukuran sebesar yang memungkinkan pengguna untuk berinteraksi untuk berbagai aktivitas.

Pada meja besar yang menggunakan LCD touch screen 40 inci, Microsoft menempatkan sebuah smartphone pada layar, seketika Microsoft Surface akan mengenali perangkat tersebut dan menampilkan informasi mengenai perangkat serta memungkinkan untuk memilih model yang berbeda. Kabarnya, Microsoft telah mengkonfirmasi harga terbaru untuk meja masa depan yang mereka rilis pada tahun 2012 ini di pasar Amerika sebesar $8.900.
Seperti halnya Microsoft Surface, teknologi terbaru masa depan lainnya, sebuah meja interaktif, EXOdesk, memungkinkan sobat untuk melakukan semua aktivitas pada virtual space. EXOdesk sebenarnya merupakan sebuah tabletop computer yang menawarkan layar high definition 40 inci, di mana kita bisa memanipulasi virtual object dengan menyentuh dan dragging. EXOdesk di rilis pada tahun 2012 dengan harga $1,299.