[英]Session in Code Igniter
我想問這個問題,我們如何才能在代碼登錄器中特別是在登錄和注銷帳戶時進行會話。 我想逐步了解代碼點火器的MVC。
在執行查詢后的登錄時,在set_userdata函數中設置會話數據並傳遞要設置的數據數組。
$ this-> session-> set_userdata('這里的會話數據');
在注銷時,您必須調用unset_userdata函數並傳遞必須在登錄時設置的數組whos的數組。
$ this-> session-> unset_userdata('這里的會話數據');
以我的代碼為例,您可以執行此操作,我有一個名為iris.php的控制器和一個名為script.php的模型。 我使用虹膜來調用並利用腳本模型。
class Iris extends CI_Controller {
function __construct(){
parent::__construct();
$this->load->model('script');
$this->load->model('alert');
}
public function index()
{ $this->load->view('index');
}
public function login_in()
{
$login = $this->script->check_login();
if($login->num_rows() == 1){
foreach ($login->result_array() as $row) {
$newdata = array(
'fullname' => $row['fullname'],
'email' => $row['email'],
'member_id' => $row['member_id'],
'transtatus'=>$row['transtatus']
);
$this->session->set_userdata($newdata);
}
redirect('iris/user_home');
}else
{
$data = array('alert'=>$this->alert->log_alert());
$this->load->view('common/header');
$this->load->view('login',$data);
$this->load->view('common/footer');
}
}`
我首先將模型腳本模型加載到虹膜控制器的構造函數和登錄函數下,然后在腳本$login=$this->script->check_login();
調用該函數$login=$this->script->check_login();
在script.php中,我們具有以下代碼。
{public function check_login(){
$email = $this->input->post('email');
$password = $this->input->post('password');
$query = "SELECT * FROM `iris_user`
WHERE`email`=? AND`password`= ? ";
$result = $this->db->query($query, array($email, $password));
return $result;
}
記住,您必須從CIfolder中的application / config / autoload.php文件中加載會話類幫助程序
$autoload['libraries'] = array('database', 'session');
該會話在自動加載后始終會開始,但是在創建注銷功能時可能會被破壞。 還請注意,在添加到會話數據變量中以訪問會話變量時,必須使用聲明會話變量時使用的名稱。 例如,訪問全名,您可以在代碼中執行此操作
echo $_SESSION['fullname'];
在控制器負載庫會話中:
$this->load->library('session');
使用下面的句子進行會話創建:
$this->session->set_userdata("session_name",session_value);
對於會話取消:
$this->session->unset_userdata("session_name");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.