我想问一下这个问题,我们如何在代码点火器中进行会话,特别是在登录和注销帐户时。我想知道代码点火器的MVC之后的一步一步。
答案 0 :(得分:4)
在set_userdata函数中执行查询设置会话数据并传递要设置的数据数组后的登录时间。
$ this-> session-> set_userdata('session data here');
在注销时你必须调用unset_userdata函数并传递你必须在登录时设置的数组数组。
$ this-> session-> unset_userdata('session data here');
答案 1 :(得分:1)
使用我的代码作为示例你可以这样做我有一个名为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');
}
}`
我首先在构造函数和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;
}
记住你必须从CI文件夹中的application / config / autoload.php文件加载会话类帮助程序
$autoload['libraries'] = array('database', 'session');
会话一直在自动加载后启动,但可能会在创建注销功能时被销毁。 还要注意,当添加到会话数据变量以访问会话变量时,您将必须使用在声明会话变量时使用的名称。例如,要访问全名,您将在代码中执行此操作
echo $_SESSION['fullname'];
答案 2 :(得分:1)
在控制器加载库会话中:
SemanticallyAdvisedMethodKinds.None
使用以下句子进行会话创建:
$this->load->library('session');
会话取消设置:
$this->session->set_userdata("session_name",session_value);