簡體   English   中英

在兩個控制器MVC之間傳遞數據

[英]Passing data between two controllers MVC

我正在使用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。 我該怎么做呢 ?

謝謝

如果您在這里談論用戶登錄..在您的Login控制器中,您驗證用戶憑據。 如果是,那么您需要設置會話變量

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

然后在Site控制器中,從DB檢索該用戶的數據。

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

並且您從DB獲得所需的數據。

只需重定向到site / members_area / $ user,你就可以在函數members_area($ user)中獲得$ user參數

原來,控制器用於控制發送到視圖的內容。 如果設計是正確的,那么你真的不應該在兩個控制器之間發送數據。

我發送了插入用戶名的值到會話中。

所以,在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

如果你想在兩個控制器中的一些常見功能把它放在一個幫助文件中

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM