| 제목 | 도와주세요!!!ㅠ.ㅠ | ||
|---|---|---|---|
| 글쓴이 | 꼬마호랭이 | 작성시각 | 2013/01/15 19:32:07 |
|
|
|||
|
부모 컨트롤러 하나에 아이 컨트롤러 2개를 놓고 데이터를 쉐어할려고 하는데 안되네요..
class MY_Data extends CI_Controller
{
public $layout;
public $xe_member;
public $member_srl;
public $is_logged_in = FALSE;
public $is_registerd = false;
public $director = array();
public $fighters = array();
public $logged;
function __construct()
{
parent::__construct();
$this->load->model('member_login');
$this->load->model('db_log');
$this->layout = 'include/template';
}
function load_data()
{
$this->xe_member = $this->member_login->member_check();
$this->member_srl = $this->xe_member['member_srl'];
$this->is_logged_in = $this->xe_member['is_logged'];
$this->is_registerd = $this->member_login->register_check($this->member_srl);
if($this->is_registerd)
{
$this->director = $this->db->where('member_srl', $this->member_srl)->limit(1)->get('fc_directors')->row();
$this->fighters = $this->db->where('member_srl', $this->member_srl)->get('fc_fighters')->result();
}
}
요 아래 두개가 아이 컨트롤러들인데...
<?php
class Login extends MY_Data
{
public function __construct()
{
parent::__construct();
$this->load->model('member_login');
}
public function index()
{
if (isset($_COOKIE['PHPSESSID'])) {
$data['PHPSESSID'] = $_COOKIE['PHPSESSID'];
}else {
$this->load->view('include/template', 'login_error'); die();
$this->load_data();
if($this->is_logged_in)
{
if ($this->is_registerd)
{
$data['log'] = $this->db_log->read_all_log(); $data['main_contents'] ='main/main'; $this->load->view('include/template', $data);
}
else {
redirect('registration');
}
}
else {
$data['main_contents'] ='login_error'; $this->load->view('include/template', $data);
}
}
?>
그리고..
<?php
class Main extends MY_Data
{
function __construct() {
parent::__construct();
}
function index(){
if(!$this->logged) {
$data['main_contents'] = 'login/login_button';
$this->load->view($this->layout,$data);
}
else
{
$data['main_contents'] = 'main/main';
$this->load->view($this->layout,$data);
}
}
}
로그인쪽에서는 제대로 저장되어 있는 오브젝트가 메인에서는 NULL값만 내뱉네요... 제가 잘못 만든건가요? 아니면... 조언 부탁 드립니다... |
|||
| 다음글 | 코드이그나이트를 처음 접합니다 강좌들이 다들 구버젼인듯... (2) | ||
| 이전글 | CI 자동 로그인 세션 관련 질문입니다(검색 해본 후 ... (3) | ||
|
몽구스
/
2013/01/16 13:49:35 /
추천
0
|
|
지훈임돠
/
2013/01/17 16:46:31 /
추천
0
CI 구조상 모든 콘트롤러가 메모리상에 올라오는게 아니라서 상속이 안될수도 있다는 생각이 드네요~
라이브러리로 구현해보는건 어떨까요? ㅎㅎ |
application/core/MY_Controller.php
파일 안에다가 부모 컨트롤러 (My_data ) 넣으시고요.
My_data에서 Load하면 될겁니다.
http://ellislab.com/codeigniter/user-guide/general/core_classes.html
http://stackoverflow.com/questions/8004385/codeigniter-my-controller-is-it-only-possible-to-extend-core-once