0

私は codeigniter と php が初めてで、数日しか使っていないので、少し助けが必要です。ログイン後にユーザーをリダイレクトする場所を確認できるように、テーブルからクッキーにデータを入れようとしています。テーブルusersには、名前が付けられた 2 つの列がAdminありCompany、ユーザーがそうであるかどうかに応じて 1 または 0 が表示され、その情報を Cookie に挿入したいと考えています。

user_controler の関数構成は次のとおりです。

function conformation(){
    $this->load->model('user');
    $q = $this->user->confr();
    if($q){
        $data = array(
            'username' => $this->input->post('username'),
            'Admin' => $this->input->post($a = $this->user->getAdmin), // get 1/0 from users column Admin 
            'Company' => $this->input->post($c = $this->user->getComp),            
            'login' => true
        );
        if( $a == 1 ){ //is admin redirect to admin view 
           $this->session->set_userdata($data);
        redirect('user_controler/useradm');
        }
        if($c == 1){ //if company redirect to company view
          $this->session->set_userdata($data);
        redirect('user_controler/usercomp');
        }
        $this->session->set_userdata($data);// if common user redirect to user view
        redirect('user_controler/userpro');
    }
    else{ // if nothing above redirect to login page
        redirect('user_controler/log');
    }
}

そしてユーザーモデルでは:

function getAdmin{
   $this->db->where('Admin', 1);
   $a = $this->db->get('users');
}
function getComp{
   $this->db->where('Company', 1);
   $a = $this->db->get('users');
}
function conf(){
        $this->db->where('username', $this->input->post('username'));
        $this->db->where('password', $this->input->post('password'));
        $q = $this->db->get('users');

        if($q->num_rows == 1 ){
            return TRUE;                
        }
    }

ログインを確認するためのサイトコントローラーもあります

class Site extends CI_Controller{

    function __construct() {
        parent::__construct();
        $this->login();
    }

    function login(){
        $login = $this->session->userdata('login');

        if(!isset($login) || login != TRUE){
            $this->log;
            die();
        }
    }

}

もちろん、これらの列を別の方法で確認する必要があるため、機能していませんが、方法がわかりません。私もテーブルを有効にci_sessionしており、 と がなくても完全に機能AdminCompanyます。

4

1 に答える 1