【问题标题】:how to pass an array from one class controller to another in codeigniter如何在codeigniter中将数组从一个类控制器传递到另一个
【发布时间】:2015-11-12 06:53:57
【问题描述】:

我有两个控制器,例如 doc.php,控制器文件夹中的 user.php 和视图文件夹中的registration.php,它们有一个注册表单。 我想通过 user.php将注册信息从 registration.php 传递到 doc.php 控制器。 我怎样才能做到这一点?需要帮助。

【问题讨论】:

  • 使用 session 或将它们存储在 DB 中。您可以在控制器内部调用另一个控制器。
  • 有什么方法可以直接传递而不使用会话或保存在任何地方?
  • 如果您必须从另一个控制器调用一个控制器,您可以从第一个控制器实例化第二个控制器并将数组作为参数传递?
  • 示例或任何详细信息? @Magnus Eriksson

标签: php codeigniter frameworks


【解决方案1】:

您的 codeigniter 版本是多少? 2.x 还是 3.x?

尝试使用 session 来保存你的数组。

要在控制器构造函数中手动初始化 Session 类,请使用以下方法:

$this->load->library();

加载后,Sessions 库对象将可用:

$this->session

您可以使用此代码设置会话名称:

$this->session->your_session_name;

使用它在你的会话中添加一个项目:

$this->session->your_session_name('item_one');

要检索您的会话,请使用以下代码:

$this->session->your_session_name;

Check this 用于 CodeIgniter 3.X

Check this 用于 CodeIgniter 2.X

【讨论】:

    【解决方案2】:

    在 CodeIgnitor 中,您通常使用会话对象在控制器之间传递数据。例如:

    // initialise the session object
    $this->load->library('session');
    
    // save the array to the session
    $this->session->set_userdata('reg_info', $reg_info);
    
    // retrieve the array in the other controller:
    $this->session->userdata('reg_info');
    

    更多关于 CodeIgnitor 会话对象的信息可以在docs找到。

    【讨论】:

      猜你喜欢
      • 2012-09-30
      • 2014-02-04
      • 1970-01-01
      • 2011-02-26
      • 2016-10-06
      • 2015-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多