Php 代码点火器中的会话

Php 代码点火器中的会话,php,codeigniter,Php,Codeigniter,我想问这个问题,我们如何在CodeIgniter中创建一个会话,特别是在登录和注销帐户时。我想知道在set_userdata函数中执行query set session data并将要设置的数据数组传递给谁之后,在登录时遵循code igniter的MVC的步骤。 $this->session->set_userdata('sessiondata here') 在注销时,您必须调用unset_userdata函数并传递您必须在登录时设置的数组who的数组 $this->session->unse

我想问这个问题,我们如何在CodeIgniter中创建一个会话,特别是在登录和注销帐户时。我想知道在set_userdata函数中执行query set session data并将要设置的数据数组传递给谁之后,在登录时遵循code igniter的MVC的步骤。

$this->session->set_userdata('sessiondata here')

在注销时,您必须调用unset_userdata函数并传递您必须在登录时设置的数组who的数组


$this->session->unset_userdata('session data here')

以我的代码为例,您可以这样做,我有一个名为iris.php的控制器和一个名为script.php的模型。我使用iris调用并使用脚本模型

    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');
    }
}`
我首先在构造函数下加载模型脚本模型,并在iris控制器的登录函数中调用脚本
$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');
会话总是在自动加载后启动,但可能在创建注销功能时被销毁。 还要注意,当添加到会话数据变量以访问会话变量时,必须使用声明会话变量时使用的名称。e、 要访问全名,您可以在代码中执行此操作

echo $_SESSION['fullname'];

在控制器加载库会话中:

$this->load->library('session');
使用以下句子创建会话:

$this->session->set_userdata("session_name",session_value);
对于未设置的会话:

$this->session->unset_userdata("session_name"); 

有关Codeigniter中会话的更多信息,请转到。或者您希望我们为您构建应用程序吗?现在可以在这里找到所有文档