0

我正在使用 CodeIgniter,我有两个不同的控制器 - login.php 和 site.php

在 login.php 中

function credentials(){
    $user = $this->input->post('username');
    // there is some code here
}

在 site.php 中,我有函数 members_area() 我需要将变量 $user 从 login.php 传递给 site.php。我该怎么做呢 ?

谢谢

4

4 回答 4

2

如果您在这里谈论用户登录。在您的Login控制器中,您可以验证用户凭据。如果是这样,那么您需要设置一个会话变量

$this->sessions->set_userdata('user_id',$user_id);
redirect('site/members_area');

然后在您的Site控制器中,您从数据库中检索该用户的数据。

$current_user = $this->sessions->userdata('user_id');

您从数据库中获取所需的数据。

于 2012-05-04T03:50:09.607 回答
0

只需重定向到 site/members_area/$user ,您将在函数 members_area($user) 中获得 $user 参数

于 2012-05-04T03:36:40.170 回答
0

事实证明,控制器用于控制发送到视图的内容。如果设计正确,您实际上不应该在两个控制器之间发送数据。

我将插入用户名的值发送到会话中。

所以,在 login.php

$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
于 2012-05-04T03:47:21.283 回答
0

如果您想要两个控制器中的一些常用功能,请将其放入帮助文件中

http://ellislab.com/forums/viewthread/55212/

于 2012-05-04T03:50:29.760 回答