0

私はCodeIgniterを使用しており、login.phpとsite.phpの2つの異なるコントローラーがあります。

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コントローラーで、DBからそのユーザーのデータを取得します。

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

そして、DBから必要なデータを取得します。

于 2012-05-04T03:50:09.607 に答える
0

ビューに送信される内容を制御するためにコントローラーが使用されていることがわかります。設計が正しければ、2つのコントローラー間でデータを送信することは実際には想定されていません。

ユーザー名の値をセッションに挿入して送信しました。

だから、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

site / members_area / $ userにリダイレクトするだけで、関数members_area($ user)に$userパラメーターを取得できます。

于 2012-05-04T03:36:40.170 に答える
0

2つのコントローラーでいくつかの一般的な機能が必要な場合は、ヘルパーファイルに入れてください

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

于 2012-05-04T03:50:29.760 に答える