开发者

CodeIgniter function to clear session

开发者 https://www.devze.com 2023-02-18 17:01 出处:网络
If i uncomment this code, i get blank page开发者_运维问答 at site. If i comment this, site works.

If i uncomment this code, i get blank page开发者_运维问答 at site. If i comment this, site works. Here is my exit code (auth by sessions):

    function exit($action='') {
    if ($action == "true") {
        echo "Exit.";
        return;
    }
    $login = $this->session->userdata('username');
    if ($login == NULL) {
        redirect('/blog/login/', 'location', '301');
    }
    $array_itmes = array('username' => "$login");
    $this->session->unset_userdata($array_items);
    redirect('/blog/exit/true/', 'location', '301');}

after normal login:

    $newdata = array('username' => "$name");
    $this->session->set_userdata($newdata);

in other actions i using:

    $login = $this->session->userdata('username');
    if ($login !== NULL) {
        echo $login;
    }

and I get my username. where is an error in first code? i`m from Russia, so sorry for bad English.


Just replace it with $this->session->sess_destroy();


$array_val = array('userid' => '','username' => '', 'email' => '');

$this->session->unset_userdata($array_val);

This is remove individual session details.


Anton's answer will destroy whole session at once. If you would want to delete entire session data use this like Anton said,

$this->session->sess_destroy();

But if you would want to only destroy specific user data use below,

$this->session->unset_userdata('user_name');

Hope this helps, thanks!!

Happy coding!!


To clear the current session (for example, during a logout), you may simply use either PHP’s session_destroy() function or the sess_destroy() method. Both will work in exactly the same way:

session_destroy();

// or

$this->session->sess_destroy();


you can also use session()->destroy();

it clears the session buffer so you get the logging out effect.

0

精彩评论

暂无评论...
验证码 换一张
取 消