これは私のmy_Controllerの私のコアフォルダにあります。Codeigniter 3 MY_Controller
<?php
class MY_Controller extends CI_Controller {
public function __construct()
{
parent::__construct();
}
public function is_logged_in($data){
$session = $this->session->userdata();
if($session['isloggedin']['username'] == ''){
return isset($session);
}else{
return FALSE;}
}
}
?>
私は私はいくつかのチュートリアルから上記のコードを貼り付けコピーして、私は私のニーズに基づいて、それを編集してもらっていないかなり確信しています。
いずれにしても質問があります。
私はログインしたユーザーのaccount_typeに応じていくつかのビューにアクセスする責任を持つページコントローラを持っています。
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class pages extends MY_Controller {
}?>
これは、いつでもユーザーがログイン中の私のセッションです。
$new_session = array('username' => $this->input->post('username'),
'email' => $this->input->post('email'),
'type' => $this->input->post('type'),
'logged_in' => TRUE);
$this->session->set_userdata($new_session);
私は自動的にも機能is_logged_in()
を呼び出し、「MY_Controller拡張」は、またはどのようにページコントローラからis_logged_in()
MY_controller関数を呼び出すかですか基本的には__construct
に入れておく必要がありますので、自動的に関数を呼び出すのですか?
また、ユーザーがログインして詳細を確認するにはどうすればよいですか?
私のコントローラからMY_Controllerにsession_dataを渡しますか?もしそうなら、どうですか?
is_logged_in()
機能内に$this->session->userdata();
行を挿入するだけですか?
P.S.私は認証ライブラリを使ってみましたが、必要なものをあまりにも多く含んでいます。基本認証が必要です。助言がありますか?それは今でもなお維持されています。
ああ、私は私のコントローラの機能を呼び出すことができる手段を拡張:ちょうどこのような? 私の印象は、ページコントローラを読み込むたびに自動的にMY_controllerがロードされるということでした。私は間違っていたと思います。 –
is_logged_in関数は大丈夫ですか?私は$ dataパラメータのように、多くの冗長性を持っているように感じます。もし関数自体の中で$ session-> userdata()ができるのであれば$ dataを渡して真偽をチェックするのはなぜですか? Ifとissetも、 –