Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- defined('BASEPATH') OR exit('No direct script access allowed');
- class Login extends CI_Controller {
- public function __construct(){
- parent::__construct();
- }
- public function index(){
- // validasi email dan password
- $this->form_validation->set_rules('email', 'Email', 'trim|required|valid_email',[
- 'required'=>'Email Harus Diisi',
- 'valid_email'=>'Email Tidak Valid']);
- $this->form_validation->set_rules('password', 'Password', 'trim|required',[
- 'required'=>'Password Harus Diisi']);
- // email atau password kosong atau email tidak valid maka jalankan
- if ($this->form_validation->run()==false) {
- $this->load->view('login');
- } else {
- // jika validasi berhasil
- $this->_login();
- }
- }
- private function _login(){
- // mengambil email dan password yang diisikan user
- $email = $this->input->post('email');
- $password = $this->input->post('password');
- $user = $this->db->get_where('user', ['username' => $email])->row_array();
- if ($user) {
- // usernya ada
- if (password_verify($password, $user['password'])) {
- // simpan data di session
- $data = [
- 'username'=>$user['username']
- ];
- $this->session->set_userdata($data);
- redirect('user');
- } else {
- // jika password salah
- $this->session->set_flashdata('message','<div class="pesan pesan-error" role="alert">Password Salah</div>');
- redirect('login');
- }
- } else {
- // tidak ada user dengan email tersebut
- $this->session->set_flashdata('message','<div class="pesan pesan-error" role="alert">Email Belum Terdaftar</div>');
- redirect('login');
- }
- }
- public function register(){
- $this->form_validation->set_rules('nama', 'Nama', 'required|trim');
- $this->form_validation->set_rules('email', 'Email', 'required|trim|valid_email|is_unique[user.username]',[
- 'valid_email'=>'Email Tidak Valid',
- 'required'=>'Email Tidak Boleh Kosong',
- 'is_unique'=>'email sudah terdaftar']);
- $this->form_validation->set_rules('pass1', 'Password', 'required|trim|min_length[3]|matches[pass2]',[
- 'matches'=>'Password Harus Sama',
- 'min_length'=>'Minimal 3 Carakter']);
- $this->form_validation->set_rules('pass2', 'Password', 'required|trim|matches[pass1]');
- // jika validasi salah maka
- if ($this->form_validation->run()==false) {
- $data['title']='Registrasi User';
- $this->load->view('register',$data);
- } else {
- // jika sukses maka simpan kedalam database
- $data = [
- 'nama'=>htmlspecialchars($this->input->post('nama',true)),
- 'username'=>htmlspecialchars($this->input->post('email',true)),
- 'password'=>password_hash($this->input->post('pass1'),PASSWORD_DEFAULT)
- ];
- $this->db->insert('user', $data);
- $this->session->set_flashdata('message','<div class="pesan pesan-berhasil" role="alert">Selamat! akun anda sudah dibuat. Silahkan login</div>');
- redirect('login');
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement