0

2 つのコントローラーがmembers.phpあります。1 つはユーザーを登録するためのもので、もう 1 つは reserv.phpバスのチケットを予約するためのものです。

最初のコントローラ クラスの完了後に 2 番目のコントローラをロードしたい。

members.php

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class Members1 extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->load->model('member_model1');
    }

    public function index() {
        $table = $this->member_model1->insert_members();
        $data['members'] = $table;
        //$this->load->view('header1', $data);
        $this->load->view('reservation_view',$data);
        //$this->load->view('members');
        //$this->load->view('footer');
    }
}

予約.php

<?php 

class reserve extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->load->model('member_model1');
    }

    function index() {
        $table = $this->member_model1->get_members();
        $data['members'] = $table;
        //$this->load->view('header1', $data);
        $this->load->view('reservation_view',$data);
        //$this->load->view('reservation_view');    
        // $this->load->helper(array('form'));
        //$this->load->view('reservation_view');
    } 
}
?>
4

1 に答える 1

0

別のコントローラーからコントローラーを呼び出すには、関数redirect()を使用できます。

// In Members1 controller
redirect('/reserve/index');

ビューをロードするときなど、リダイレクトとともにデータを送信できないことに注意してください。データを送信するには$this->session->set_flashdata();、リダイレクトが使用しているように見えるため、使用する必要があります (この投稿header()で略奪することをお勧めします)。

// In Members1 controller
$this->session->set_flashdata('key', 'value');
redirect('/reserve/index');

ところで、あなたの 2 つのクラスを見ると、andのTicketような 2 つのメソッドを持つ一意のクラスを単純に作成しないのはなぜだろうと思います(これらの名前は純粋に空想的なものであり、自由に使用してください)。registerUser()bookTicket()

于 2013-07-23T15:05:16.450 に答える