Skip to main content

bertanya ttg simple login

April 11, 2011 by lucc_D

lucc_D's picture

slamat malam, saya br bbrp hari memulai mempelajari CI, kemudian bolehkan saya bertanya ttg login pada CI?
yang mau saya tanyakan, mengapa ketika melakukan fetch ke database selalu gagal.
Begini kasusny:
Saya melakukan if(berhasil) maka dia redirect ke halaman main
else ("id dan pass anda ada yang salah"). Yang mau saya tanyakan, mengapa slalu elsenya yang berjalan, dimana letak kesalahan saya?
Berikut saya sertakan file view model & controllernya
Mohon bantuannya

//CONTROLLER:

class Login_admin extends Controller {
 
 
    function login_admin() {
 
        parent::Controller();
        $this->load->model('Login_admin_model', '', true);
    }
    function index() {
        if($this->session->userdata('login_admin')== true) {
            redirect('mainAdmin');
        }
        else {
            $this->load->view('login_admin_view');
        }
    }
    function process_login() {
        //validasi
        $this->form_validation->set_rules('username','Username', 'required');
        $this->form_validation->set_rules('password','Password', 'required');
 
        //cek user dan pass
 
        if($this->form_validation->run()==true) {
            //post
            $username = $this->input->post('username');
            $password = $this->input->post('password');
 
            //cek status true?
            if($this->Login_admin_model->check_user($username, $password) ==true) {
                $data = array('username' => $username,'password'=>$password,
                    'login_admin' => true);
                $this->session->set_userdata($data);
                redirect('mainAdmin');
            }
            else {
                $this->session->set_flashdata('message',
                        'Maaf input username dan atau password ada yang salah');
                redirect('login_admin/index');
            }
        }
        else {
            $this->load->view('login_admin_view');
        }
    }
    function process_logout() {
        $this->session->sess_destroy();
        redirect('login_admin','refresh');
    }
}

//MODEL:

    class Login_admin_model extends Model{
 
        function Login_admin_model(){
            parent::Model();
        }
        //pilih tabel
        var $table ='admin';
 
        function check_user($username, $password){
 
 
           $query = $this->db->get_where($this->table, array(
               'username' =>'$username',
               'password' =>'$password'),1,0);
           if($query->num_rows()>0){
               return true;
           }
           else{
               return false;
           }
        }
    }

//VIEW:

Login admin

Login Admin

                $atribut = array('name'=>'login_form', 'id'=>'login_form');
                echo form_open('login_admin/process_login',$atribut);
 

            $message = $this->session->flashdata('message');
            echo $message ==''?'': '<p id="message">'.$message.'</p>';
 

Username:

                echo form_error('username','<p class="field_error"','</p>');
 

Password:

                echo form_error('password','<p class="field_error"','</p>');
 

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

berharti berhasil

April 12, 2011 by setyawaw, 18 weeks 2 days ago
Comment: 7984

setyawaw's picture

berarti dah berhasil script login nya. kalo udah redirect ke mainAdmin. tinggal controller mainAdmin nya di buat bro. 404 mungkin karena controller mainAdmin nya lupa belum di buat bro.

sepertinya pada modelnya mas

April 11, 2011 by setyawaw, 18 weeks 3 days ago
Comment: 7977

setyawaw's picture

function check_user($username, $password){
           $query = $this->db->get_where($this->table, array(
               'username' =>'$username', //di sini 
               'password' =>'$password'),1,0);
           if($query->num_rows()>0){
               return true;
           }
           else{
               return false;
           }
        }

kalo variabel ngak perlu ada di dalam petik / apostrop. karena bakal di baca string biasa.

$query = $this->db->get_where($this->table, array(
               'username' =>$username, //tanpa petik /apostrop
               'password' =>$password),1,0);

jadi kaya gitu.

semoga membantu

thx infonya, sudah saya

April 11, 2011 by lucc_D, 18 weeks 3 days ago
Comment: 7980

lucc_D's picture

thx infonya, sudah saya perbaiki, namun ketika di submit muncul error baru, sepertinya halaman viewnya tdk mau d load:

404 Page Not Found
The page you requested was not found.

ini address bar pada web browser saya:
http://localhost/TA/index.php/mainAdmin
thx info dan bantuanny...

Premium Drupal Themes by Adaptivethemes