Login menggunakan Codeigniter

Login pada codeigniter sedikit berbeda dengan biasanya :
berikuti ini codingnya :










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

class Login extends CI_Controller {

 
 public function __construct(){
  parent::__construct();
 }
  
 public function index()
 {
  if(!empty($_SESSION['smk_admin']) or !empty($_SESSION['smk_guru']) or !empty($_SESSION['smk_siswa']) ){
   redirect(base_url('index.php'));
  }else{
   redirect(base_url('index.php'));
  }
 }
 
 public function admin()
 {
  if(empty($_SESSION['smk_admin'])){
   $d['title']='Login Aplikasi';
   $this->load->view('login/admin',$d);
  }else{
   redirect(base_url('index.php'));
  }
 }
 
 public function guru()
 {
  if(empty($_SESSION['smk_guru'])){
   $d['title']='Login Aplikasi';
   $this->load->view('login/guru',$d);
  }else{
   redirect(base_url('index.php'));
  }
 }
 
 public function admin_proses()
 {
  if(empty($_SESSION['smk_admin'])){
   $this->load->model('m_login'); //Load model
   
   $jml = $this->m_login->jml_admin($this->input->post('user'),$this->input->post('sandi')); //Jumlah user
   if($jml==1){
    $qry = $this->m_login->admin($this->input->post('user'));
    foreach($qry as $t){
     $this->session->set_userdata('admin_email',$t->email);
     $this->session->set_userdata('admin_nama',$t->nama);
    }
    $this->session->set_userdata('kode_tp','1516');
    $this->session->set_userdata('smk_admin',$this->input->post('user'));
    redirect(base_url('index.php'));
   }else{
    $d['title']='Login Aplikasi';
    $this->session->set_flashdata('info','<div class="alert alert-danger">User dan Sandi Salah</div>');
    $this->load->view('login/admin', $d);
   }
  }else{
   redirect(base_url('index.php'));
  }
 }
 
 public function guru_proses()
 {
  if(empty($_SESSION['smk_guru'])){
   $this->load->model('m_login'); //Load model
   
   $jml = $this->m_login->jml_guru($this->input->post('user'),$this->input->post('sandi')); //Jumlah user
   if($jml==1){
    $qry = $this->m_login->guru($this->input->post('user'));
    foreach($qry as $t){
     $this->session->set_userdata('guru_email',$t->email);
     $this->session->set_userdata('guru_nama',$t->nama_ptk);
    }
    $this->session->set_userdata('kode_tp','1516');
    $this->session->set_userdata('smk_guru',$this->input->post('user'));
    redirect(base_url('index.php'));
   }else{
    $d['title']='Login Aplikasi';
    $this->session->set_flashdata('info','<div class="alert alert-danger">User dan Sandi Salah</div>');
    $this->load->view('login/guru', $d);
   }
  }else{
   redirect(base_url('index.php'));
  }
 }
 public function keluar()
 {
  $this->session->sess_destroy();
  redirect(base_url('index.php'));
 }
 
 
 public function wali()
 {
  if(empty($_SESSION['smk_wali'])){
   $this->load->model('m_login'); //Load model
   $d['tahun']=$this->m_login->tahun();
   $d['title']='Login Aplikasi';
   $this->load->view('login/wali',$d);
  }else{
   redirect(base_url('index.php'));
  }
 }
 
 public function wali_proses()
 {
  if(empty($_SESSION['smk_wali'])){
   $this->load->model('m_login'); //Load model
   $d['tahun']=$this->m_login->tahun();
   if($this->m_login->status_wali($this->input->post('user'),$this->input->post('tahun'))==1){
    $jml = $this->m_login->jml_wali($this->input->post('user'),$this->input->post('sandi')); //Jumlah user
    if($jml==1){
     $qry = $this->m_login->wali($this->input->post('user'));
     foreach($qry as $t){
      $this->session->set_userdata('wali_email',$t->email);
      $this->session->set_userdata('wali_nama',$t->nama_ptk);
     }
     
     $qry = $this->m_login->wali_kelas($this->input->post('user'),$this->input->post('tahun'));
     foreach($qry as $t){
      $this->session->set_userdata('wali_kelas',$t->nama_kelas);
      $this->session->set_userdata('wali_tahun',$t->nama_tahun);
      $this->session->set_userdata('kode_kelas',$t->kode_kelas);
      $this->session->set_userdata('tingkat',$t->kelas);
     } 
     $this->session->set_userdata('kode_tp','1516');
     $this->session->set_userdata('smk_wali',$this->input->post('user'));
     redirect(base_url('index.php'));
    }else{
     $d['title']='Login Aplikasi';
     $this->session->set_flashdata('info','<div class="alert alert-danger">User dan Sandi Salah</div>');
     $this->load->view('login/wali', $d);
    }
   }else{
    $d['title']='Login Aplikasi'; 
    $this->session->set_flashdata('info','<div class="alert alert-warning">Anda Bukan Sebagai Wali</div>');
    $this->load->view('login/wali', $d);
   }
   
  }else{
   redirect(base_url('index.php'));
  }
 }
 
}


Kode Pada Model
<?php
class M_login extends CI_Model{
 public function __construct(){
  parent::__construct();
  
  $this->load->database();
  
 }
 
 public function jml_admin($user,$sandi){
  $qry = $this->db->get_where('tbl_admin',array('username'=>$user,'sandi'=>md5($sandi),'jenis'=>'99'));
  return $qry->num_rows();
 } 
 
 public function jml_guru($user,$sandi){
  $qry = $this->db->get_where('tbl_ptk',array('nik'=>$user,'sandi'=>md5($sandi)));
  return $qry->num_rows();
 } 
 
 public function admin($user){
  $qry = $this->db->get_where('tbl_admin',array('username'=>$user));
  return $qry->result();
 }
 
 public function guru($user){
  $qry = $this->db->get_where('tbl_ptk',array('nik'=>$user));
  return $qry->result();
 }
 
 public function jml_wali($user,$sandi){
  $qry = $this->db->get_where('tbl_ptk',array('nik'=>$user,'sandi'=>md5($sandi)));
  return $qry->num_rows();
 } 
 
 public function status_wali($nik,$tp){
  $qry = $this->db->get_where('tbl_kelas',array('nik'=>$nik,'kode_tahun'=>$tp));
  return $qry->num_rows();
 } 
 
 public function wali($user){
  $qry = $this->db->get_where('tbl_ptk',array('nik'=>$user));
  return $qry->result();
 }
 
 
 public function wali_kelas($nik, $tp){
  $this->db->select('*');
  $this->db->from('tbl_kelas');
  $this->db->join('tbl_tahun','tbl_kelas.kode_tahun=tbl_tahun.kode_tahun');
  $this->db->where('nik',$nik);
  $this->db->where('tbl_kelas.kode_tahun',$tp);
  $qry = $this->db->get();
  return $qry->result();
 }
 
 public function tahun(){
  $this->db->order_by('kode_tahun','DESC');
  $qry = $this->db->get('tbl_tahun');
  return $qry->result();
 }
 
}
?>


Kode Pada View
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><?php echo $title; ?></title>
<link rel="stylesheet" href="<?php echo base_url('assets/lib/css/bootstrap.min.css') ?>" />
<link rel="stylesheet" href="<?php echo base_url('assets/css/cecep.css') ?>" />
</head>

<body background="<?php echo base_url('assets/gam/back.png') ?>">
<div class="container container-fluid login_center">
  <form method="post" action="<?php echo base_url('index.php/login/admin_proses') ?>">
         <div class="panel panel-primary">
                <div class="panel-heading" align="center">
                    <img src="<?php echo base_url('assets/gam/kop.png') ?>" /><h3>SMK NEGERI 1 ABANG</h3>
                </div>
                <div class="panel-body">
                 <?php echo $this->session->flashdata('info'); ?>
                    <div class="form-group">
                     <label>Username Admin</label>
                     <input type="text" name="user" class="form-control" placeholder="Username" value="<?php echo set_value('user'); ?>" />
                        <label>Sandi Admin</label>
                     <input type="password" name="sandi" class="form-control" placeholder="Username" value="<?php echo set_value('sandi'); ?>" />
                    </div>
                </div>
                <div class="panel-footer" align="right">
                 <a class="btn btn-default" href="<?php echo base_url(); ?>">Home</a>
                    <input type="submit" class="btn btn-danger" name="Login" value="Login")">
                </div>
         </div> 
        </form>
</div>
<script language="javascript" src="<?php echo base_url('assets/lib/js/jquery.min.js') ?>"></script>
<script language="javascript" src="<?php echo base_url('assets/lib/js/bootstrap.min.js') ?>"></script>
</body>

</html>

0 komentar