Php 在两个控制器MVC之间传递数据
我使用的是CodeIgniter,我有两个不同的控制器——login.php和site.php 在login.php中Php 在两个控制器MVC之间传递数据,php,codeigniter,Php,Codeigniter,我使用的是CodeIgniter,我有两个不同的控制器——login.php和site.php 在login.php中 function credentials(){ $user = $this->input->post('username'); // there is some code here } $this->session->set_userdata($data); 在site.php中,我有函数成员\u area()我需要将变量$user从
function credentials(){
$user = $this->input->post('username');
// there is some code here
}
$this->session->set_userdata($data);
在site.php中,我有函数成员\u area()我需要将变量$user从login.php传递到site.php。我该怎么做
谢谢只需重定向到站点/members\u区域/$user
在函数members\u区域($user)中会得到$user参数,结果表明,控制器用于控制发送到视图的内容。如果设计是正确的,就不应该在两个控制器之间发送数据 我将用户名的值插入到会话中 因此,在login.php中
function credentials(){
$user = $this->input->post('username');
// there is some code here
}
$this->session->set_userdata($data);
并在site.php中检索该值
$data['userid'] = $this->session->userdata('username');
$this->load->view('members_area' , $data); //send the info to the controller
如果您在这里谈论的是用户登录。。在
登录
控制器中验证用户凭据。如果是这样,那么您需要设置一个会话变量
$this->sessions->set_userdata('user_id',$user_id);
redirect('site/members_area');
然后在站点
控制器中,从数据库中检索该用户的数据
$current_user = $this->sessions->userdata('user_id');
您可以从数据库中获取所需的数据。如果您想在两个控制器中使用一些常用函数,请将其放入一个帮助文件中
谁调用
credential()
方法?如果您坚持使用Codeigniter的MVC风格,您可能不应该在控制器之间共享。考虑使用库或助手处理共享信息。我也做了同样的事情。谢谢