【问题标题】:codeigniter : load second controller after execution of first controllercodeigniter : 在执行第一个控制器后加载第二个控制器
【发布时间】:2013-07-23 13:48:47
【问题描述】:

我们有两个控制器,一个是members.php,它正在注册用户,另一个是reserv.php,用于预订公交车票。

我想在第一个控制器类完成后加载第二个控制器。

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');
    }
}

reserv.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');
    } 
}
?>

【问题讨论】:

  • 通过redirect(site_url('reserve')); 将用户重定向到第二个controller/action URI。但请确保您之前已加载 url 助手。
  • 您可以在注册后重定向到另一个适用于您的情况的控制器 imo

标签: codeigniter


【解决方案1】:

要从另一个控制器调用一个控制器,可以使用函数redirect()

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

请注意,您将无法随重定向一起发送数据,例如在加载视图时。要发送数据,您必须使用$this-&gt;session-&gt;set_flashdata();,因为重定向似乎使用header()(我建议您在this post 获得战利品)。

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

顺便说一下,当我看到你的两个类时,我想知道你为什么不简单地用registerUser()bookTicket() 之类的两个方法创建一个独特的Ticket 类(这些名字纯粹是花哨的,请随意使用你的)。

【讨论】:

  • 感谢您的建议..我将根据您的建议修改我的应用程序
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多