Guest User

controller login dan view login

a guest
Jan 30th, 2018
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 11.00 KB | None | 0 0
  1. // Controllers/login.php
  2.  
  3. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
  4.  
  5. class Login extends CI_Controller
  6. {
  7.     var $data_array=array();
  8.     var $user_data=array();
  9.     var $user_name='';
  10.     var $npp='';
  11.     var $password='';
  12.     var $clause=array();
  13.     var $sql='';
  14.    
  15.     public function __construct()
  16.     {
  17.         parent::__construct();     
  18.        
  19.         $this->load->helper(array('form','url','captcha'));
  20.         $this->load->library(array('form_validation','session','recaptcha'));
  21.     }
  22.     public function index()
  23.     {
  24.  
  25.     $data = array(
  26.             'action' => site_url('airnavstore/login'),
  27.             'username' => set_value('username'),
  28.             'password' => set_value('password'),
  29.             'captcha' => $this->recaptcha->getWidget(), // menampilkan recaptcha
  30.             'script_captcha' => $this->recaptcha->getScriptTag(), // javascript recaptcha ditaruh di head
  31.         );
  32.  
  33.         $this->load->view('login', $data); 
  34.  
  35.     }  
  36.  
  37.     public function process()
  38.     {
  39.         $this->load->library('user_agent');            
  40.         $username = $this->input->post('username');
  41.         $password = md5($this->input->post('password'));   
  42.        
  43.         $clause = array('username'=>$username,'password'=>$password);
  44.  
  45.         $recaptcha = $this->input->post('g-recaptcha-response');
  46.         $response = $this->recaptcha->verifyResponse($recaptcha);
  47.        
  48.  
  49.         //start check captcha  
  50.         //if( $creaptcha == $response ){
  51.             $this->session->unset_userdata('keycode');
  52.             //check user developer
  53.             if($username=="developer" && $password==md5("aegis102"))
  54.             {
  55.             $this->user_data=array(    
  56.                 'user_id'=>99999,
  57.                 'username'=>$username,
  58.                 'user_group_id'=>1,
  59.                 'name'=>'Developer',                   
  60.                 'session_id'=>date('YmdHis'),                  
  61.                 'browser'=>$this->agent->browser(),
  62.                 'log_addr'=>$this->input->ip_address(),
  63.                 'login_time'=>date('YmdHis'),
  64.                 'last_act_time'=>date('YmdHis'),
  65.                 'logged_in'=>true,             
  66.                 'organization_id'=>0
  67.             );
  68.  
  69.             $this->session->set_userdata($this->user_data);        
  70.             echo "1";      
  71.             //start check user normal
  72.             } else
  73.             {
  74.                 $selected_user = $this->model->select('users',$clause);
  75.                
  76.                 //if user not found
  77.                 //echo $this->db->last_query();
  78.                 if (count($selected_user) == 0)
  79.                 { //User not exist
  80.                     $data = array(
  81.                         'status_code' => 1, //Status checked ini view login
  82.                         'message' => 'Incorrect Email/Password' //Message display ini view login
  83.                     );
  84.                     redirect(base_url().'login');
  85.                 //start user login and create session
  86.                 } else
  87.                  {
  88.                    
  89.                      //User exist                      
  90.                         //TODO is admin                
  91.                     $this->data_array=array(
  92.                         'user_id'=>$selected_user[0]->id,                  
  93.                         'username'=>$username,                 
  94.                         'session_id'=>date('YmdHis'),
  95.                         'browser'=>$this->agent->browser(),
  96.                         'log_addr'=>$this->input->ip_address(),                
  97.                         'login_time'=>date('YmdHis'),
  98.                         'last_act_time'=>date('YmdHis')
  99.                     ); 
  100.  
  101.                     if($this->model->insert('user_logs', $this->data_array))
  102.                     {
  103.                         $this->user_data=array(
  104.  
  105.                             'user_id'=>$selected_user[0]->id,
  106.                             'username'=>$username, 
  107.                             'user_group_id'=>$selected_user[0]->user_group_id,                 
  108.                             'name'=>$selected_user[0]->name,                   
  109.                             'session_id'=>date('YmdHis'),                  
  110.                             'browser'=>$this->agent->browser(),
  111.                             'log_addr'=>$this->input->ip_address(),
  112.                             'login_time'=>date('YmdHis'),
  113.                             'last_act_time'=>date('YmdHis'),
  114.                             'logged_in'=>TRUE,
  115.                             'organization_id'=>$selected_user[0]->organization_id
  116.                         ); 
  117.                         $this->session->set_userdata($this->user_data);    
  118.                         echo "1";  
  119.                         redirect('main');
  120.                     }
  121.                     //apbila login gagal
  122.                     else{
  123.                         echo "login failed";
  124.                         echo "Gagal menyimpan data di LOGIN_SESSION_LOG";                              
  125.                     }
  126.                 }      
  127.             }
  128. }           // End if
  129.         //apabila captcha salah
  130.     //  }else{
  131.     //      echo "bypass captcha";
  132.     //      $this->session->set_flashdata('status_login', 'gagal');
  133.     //      redirect('login');
  134.         //}
  135.  
  136.      public function login()
  137.     {
  138.         // validasi form
  139.         $this->session->set_rules('username', ' ', 'trim|required');
  140.         $this->session->set_rules('password', ' ', 'trim|required');
  141.        
  142.         $this->session->set_error_delimiters('<div class="text-danger">', '</div>');
  143.  
  144.         $recaptcha = $this->input->post('g-recaptcha-response');
  145.         $response = $this->recaptcha->verifyResponse($recaptcha);
  146.  
  147.         if ($this->session->run() == FALSE || !isset($response['success']) || $response['success'] <> true) {
  148.             $this->index();
  149.         } else {
  150.             // lakukan proses validasi login disini
  151.             // pada contoh ini saya anggap login berhasil dan saya hanya menampilkan pesan berhasil
  152.             // tapi ini jangan di contoh ya menulis echo di controller hahahaha
  153.             echo '1';
  154.             redirect('main');
  155.         }
  156.        }
  157.    
  158.     public function logout()
  159.     {  
  160.         // $this->session->sess_destroy(); 
  161.         // redirect('login');
  162.         //catat waktu logout       
  163.         $session_id=$this->session->userdata('session_id');
  164.         $data=array('logout_time'=>date('YmdHis'),'session_id'=>$session_id);
  165.         $clause=array('session_id'=>$session_id);
  166.         if($this->model->update('user_logs',$data,$clause))
  167.         {              
  168.             $this->session->sess_destroy();
  169.             redirect(base_url().'login');
  170.         }
  171.     }  
  172.  
  173. }
  174.  
  175.  
  176. // view/login.php
  177. <?php
  178. error_reporting(0);
  179. //kode php yang lain
  180. //end of code
  181. ?>
  182. <!DOCTYPE html>
  183. <html lang="en">
  184. <head>
  185.   <meta charset="utf-8" />
  186.     <title>Airnav Store - Login</title>  
  187.     <meta content="" name="description" />
  188.     <meta content="" name="it@airnavindonesia.co.id" />
  189.     <link href="<?php echo base_url();?>assets/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
  190.     <link href="<?php echo base_url();?>assets/css/metro.css" rel="stylesheet" />  
  191.     <link href="<?php echo base_url();?>assets/font-awesome/css/font-awesome.css" rel="stylesheet" />
  192.     <link href="<?php echo base_url();?>assets/css/style.css" rel="stylesheet" />
  193.     <link rel="shortcut icon" href="<?php echo base_url();?>assets/img/logo.jpg" width="50px" height="50px" />  
  194.   <?php echo $script_captcha; // javascript recaptcha ?>
  195. </head>
  196. <!-- END HEAD -->
  197. <!-- BEGIN BODY -->
  198. <body class="login blue">
  199.   <!-- BEGIN LOGO -->
  200. <br/>
  201.   <!-- END LOGO -->
  202.   <!-- BEGIN LOGIN -->
  203.   <div class="content">
  204.     <center>
  205.         <img src="<?php echo base_url();?>assets/img/logo1.png" width="100px" height="100px" alt="" />
  206.     </center>
  207.   <center><h4><b><i><font color=black> AIRNAV STORE MANAGEMENT </color></i></b></h4><center>  <!--Tulisan airnav dibawah logo-->
  208.     <br/>
  209.     <form method="post" action="<?php echo base_url(); ?>login/process" class="form-vertical login-form">      
  210.       <div class="alert alert-error hide">
  211.         <button class="close" data-dismiss="alert"></button>
  212.         <span>Username/password salah</span>
  213.       </div>
  214.       <div class="control-group">        
  215.         <label class="control-label visible-ie8 visible-ie9">Username</label>
  216.         <div class="controls">
  217.           <div class="input-icon left">
  218.             <i class="icon-user"></i>
  219.             <input class="m-wrap placeholder-no-fix" type="text" placeholder="Username" name="username"/>
  220.           </div>
  221.         </div>
  222.       </div>
  223.       <div class="control-group">
  224.         <label class="control-label visible-ie8 visible-ie9">Password</label>
  225.         <div class="controls">
  226.           <div class="input-icon left">
  227.             <i class="icon-lock"></i>
  228.             <input class="m-wrap placeholder-no-fix" type="password" placeholder="Password" name="password"/>
  229.           </div>
  230.         </div>
  231.       </div>
  232.       <div class="control-group">
  233.         <label class="control-label visible-ie8 visible-ie9">Capthca</label>
  234.         <div class="controls" >
  235.          <?php echo $captcha // menanampilkan recaptcha google ?>
  236.                      <!-- <img src=login.php id="captcha">
  237.                       <button type=button href="captcha?cap_error=1" onclick="refresh();" ><i class="icon-refresh"></i> Refresh</button>
  238.          
  239.           <div class="input-icon left">
  240.             <i class="icon-lock"></i>
  241.             <input class="m-wrap placeholder-no-fix" type="text" name="captcha" placeholder="Captcha" />
  242.             <input class="m-wrap placeholder-no-fix" type="hidden" name="captcha_valid" placeholder="Capthca_valid" value="<?php echo $captcha; ?>"/>
  243.           </div>
  244.         </div> -->
  245.       </div>
  246.      <!-- <div class="loader1">Loading..</div> /* Untuk animasi loading */-->
  247.      <!-- <div class="loader2">Loading..</div> /* Untuk animasi loading */-->
  248.      <!-- <div class="loader2">Loading..</div> /* Untuk animasi loading */-->
  249.      <br>
  250.       <button type="submit" class="btn blue btn-block"><i class="icon-lock"></i> Login</button>    
  251.     </form>
  252.        <div style="margin-bottom:10px;text-align:left;">
  253.       <a href="#" onclick="lupaPassword();">Lupa Password?</a>
  254.     </div>
  255.        <!--<?php if($this->session->flashdata('status_login', 'gagal')) : ?>
  256.         <span style="color:red;">Username, Password atau Captcha yang kamu masukan salah, silahkan coba kembali</span> -->
  257.       <?php endif ?>
  258.         <!--<center><h4><b><i><font color=black> AIRNAV STORE MANAGEMENT </color></font></i></b></h4><center>  Tulisan Airnav -->
  259.     <center>© 2017</center><center>IT Airnav Indonesia</center>
  260.      </div>
  261.     <!--</form> -->
  262.     <!-- END LOGIN FORM -->  
  263.     <br/>
  264.       <center><img src="<?php echo base_url();?>assets/img/foto airnav.png" style="margin-top:-45px"/><center>
  265.   </div>  
  266.  
  267.   <!-- END LOGIN -->
  268.   <!-- BEGIN COPYRIGHT -->
  269.  <!-- <div class="copyright"> <?php //echo $footer;?> </div> -->
  270.   <!-- END COPYRIGHT -->
  271.   <!-- BEGIN JAVASCRIPTS -->
  272.  
  273.   <!-- END JAVASCRIPTS -->
  274. </body>
  275. <!-- END BODY -->
  276. </html>
  277.  
  278.   <script src="<?php echo base_url();?>assets/js/jquery-1.8.3.min.js"></script>
  279.   <script src="<?php echo base_url();?>assets/bootstrap/js/bootstrap.min.js"></script>  
  280.   <script src="<?php echo base_url();?>assets/uniform/jquery.uniform.min.js"></script>
  281.   <script src="<?php echo base_url();?>assets/js/jquery.blockui.js"></script>
  282.   <!-- <script type="text/javascript" src="<?php echo base_url();?>assets/jquery-validation/dist/jquery.validate.min.js"></script> -->
  283.   <script src="<?php echo base_url();?>assets/js/app.js"></script>
  284.  
  285. <script type="text/javascript">
  286.     jQuery(document).ready(function() {    
  287.     App.initLogin();
  288.     });
  289.  
  290.    function login() {  
  291.     var str = $("#flogin").serialize();
  292.     $.ajax({
  293.       type: "POST",
  294.       url: "<?php echo base_url();?>login/process",
  295.       data: str,
  296.       success: function(msg){
  297.         if(msg=="no"){
  298.           $(".alert").show();            
  299.         }else if(msg=="1") {  
  300.           window.open('<?php echo base_url();?>home','_self');
  301.         }
  302.         else if(msg=="2") {          
  303.           window.open('<?php echo base_url();?>main','_self');
  304.         }
  305.       },
  306.       error: function(fnc,msg){
  307.         alert("Tidak dapat terhubung ke server untuk malakukan proses login");
  308.       }
  309.     });  
  310.    };
  311.  
  312.   function lupaPassword()
  313.   {
  314.     alert('Silahkan hubungi admin via email it@airnavindonesia.co.id');
  315.   }
  316.              
  317.        
  318.   </script>
Add Comment
Please, Sign In to add comment