在两个控制器MVC之间传递数据

I am using CodeIgniter and I have two different controllers - login.php and site.php

In login.php

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

In site.php, I have function members_area() I need to pass the variable $user from login.php to site.php. How do I do this ?

Thanks

If you are talking about user logins here.. In your Login controller you verify user credentials. If so then you need to set a session variable

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

Then in your Site controller you retrieve the data for that user from DB.

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

And you get your required data from DB.

just take a redirect to site/members_area/$user and you'll get $user parameter in the function members_area($user)

Turns out that a controller is used to control what is sent to a view. If the design is right you're not really supposed to send data between two controllers.

I sent inserted the value of username into a session.

So, In login.php

$this->session->set_userdata($data);

and retrieved the value in site.php

$data['userid'] =  $this->session->userdata('username');
$this->load->view('members_area' , $data); //send the info to the controller

if you want some common functions in two controller put it in a helper file

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