mysapta

login captcha

Apr 17th, 2016
267
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.53 KB | None | 0 0
  1. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
  2.  
  3. class Auth extends CI_Controller {
  4.  
  5.     public function index() {
  6.         //$this->load->view('index');
  7.        
  8.     $cap = $this->buat_captcha();
  9.     $data['cap_img'] = $cap['image'];
  10.     $this->session->set_userdata('kode_captcha', $cap['word']);
  11.     $this->load->view('index', $data);
  12.     }
  13.     public function cek_login() {
  14.         $data = array('UserName' => $this->input->post('NUser', TRUE),
  15.                         'Password' => md5($this->input->post('NSandi', TRUE))
  16.             );
  17.         $this->load->model('Model_user'); // load model_user
  18.         $hasil = $this->Model_user->cek_user($data);
  19.         if ($hasil->num_rows() == 1) {
  20.             foreach ($hasil->result() as $sess) {
  21.                 $sess_data['logged_in'] = 'Sudah Loggin';
  22.                 //$sess_data['uid'] = $sess->uid;
  23.                 $sess_data['UserName'] = $sess->UserName;
  24.                 $sess_data['level'] = $sess->Level1;
  25.                 $this->session->set_userdata($sess_data);
  26.             }
  27.             if ($this->session->userdata('level')=='admin') {
  28.                 redirect('admin/c_admin');
  29.             }
  30.             elseif ($this->session->userdata('level')=='member') {
  31.                 redirect('member/c_member');
  32.             }      
  33.         }
  34.         else {
  35.             echo "<script>alert('Gagal login: Cek username, password!');history.go(-1);</script>";
  36.         }
  37.     }
  38.  
  39.  
  40.  
  41.  
  42.  public function buat_captcha()
  43.  {
  44.      
  45.   $this->load->helpers('captcha');
  46.   $vals = array(
  47.   'img_path' => './captcha/',
  48.   'word' => random_string('numeric', 4),
  49.   'img_url' => base_url().'captcha/',
  50.   'font_path' => FCPATH.'/font/timesbd.ttf',
  51.   'img_width' => '120',
  52.  
  53.   'img_height' => 50,
  54.   'expiration' => 60,
  55.  
  56.   );
  57.   $cap = create_captcha($vals);
  58.   return $cap;
  59.  }
  60.  
  61.  public function post()
  62.  {
  63.   $this->form_validation->set_rules('kode_captcha', 'Kode Captcha', 'required|callback_cek_captcha');
  64.   $this->form_validation->set_error_delimiters('<div style="border: 1px solid: #999999; background-color: #ffff99;">', '</div>');
  65.  
  66.   if ($this->form_validation->run() === FALSE)
  67.   {
  68.    $cap = $this->buat_captcha();
  69.    $data['cap_img'] = $cap['image'];
  70.    $this->session->set_userdata('kode_captcha', $cap['word']);
  71.    
  72.    $this->load->view('form_captcha', $data);
  73.   } else  {
  74.    $data['title'] = 'Captcha Benar!';
  75.    $this->session->unset_userdata('kode_captcha');
  76.    $this->load->view('captcha_sukses', $data);
  77.   }
  78.  }
  79.  
  80.  public function cek_captcha($input)
  81.  {
  82.   if($input === $this->session->userdata('kode_captcha')){
  83.    return TRUE;
  84.   } else {
  85.    $this->form_validation->set_message('cek_captcha', '%s yang anda input salah!');
  86.    return FALSE;
  87.   }
  88.  }
  89. }
  90. //akhir dari autentikasi controller
Advertisement
Add Comment
Please, Sign In to add comment