0

我是 PHP 和 Codeigniter 的新手。

我正在从我的控制器加载一个视图。然后,该视图中有一个 form_open ,它指向该控制器中的一个函数。我可以在该函数中使用以前在我的控制器中设置的变量吗?

例如,控制器的构造函数加载一个模型。然后,此控制器中的另一个函数调用$this->model->someFunction($id)并将$id我的模型的变量设置为$id. 稍后,在我的视图中单击链接后,它会转到控制器中的另一个函数,然后调用$this-model->printID(). 这失败了,因为在我的模型中,$id没有设置。

如何实现链接到访问我之前修改的相同对象(或模型)的函数?也就是说, $ID 的最终回显返回一个空白字符串 -$ID没有像我预期的那样设置。

在此先感谢您的帮助。

我的控制器:

class Studio extends CI_Controller { 

public function __construct()
{
    parent::__construct();
    $this->load->model('studio_model','',TRUE);
}

function view($id)
{
    $this->studio_model->setID($id);
    $this->load->view('studio_view');
}

function signup(){                  
    $ID = $this->input->post('ID');
    $this->studio_model->signup($ID);
}
}

我的模型:

Class studio_model extends CI_Model{

public $ID;

function setID($id) {
    $this->ID = $id;
}

function signup($ID){
    echo $this->ID;
    echo $classID;
}
4

1 回答 1

0

我认为我的问题的答案与以下内容有关:ellislab.com/forums/viewthread/185409/#876547未维护 PHP 实例,因此每个新调用都会实例化新类、控制器等。因此,全局如果您离开控制器然后重新输入,则不再设置变量。

于 2013-12-24T21:36:56.043 回答