Welcome Guest, Not a member yet? Register   Sign In
[Solved] Expire Session Question
#2

I think I have solved it now


PHP Code:
$this->session->set_tempdata(array('login_token' => $token), NULL300); 

PWD Function 

PHP Code:
if (!$this->session->userdata('login_token') || !$this->session->tempdata('login_token')) {
   
$this->session->unset_userdata('login_token');
   
redirect(base_url('/'));



PHP Code:
<?php defined('BASEPATH') OR exit('No direct script access allowed');

class 
Login extends CI_Controller {

    public function 
__construct() {
        
parent::__construct();
        
$this->load->library('form_validation');
    }

    public function 
index()
    {

        
$data['title'] = 'Admin Login';

        
$data['error_validation'] = '';
        
        
$this->form_validation->set_rules('validation''Username Or Email''required');

        if (
$this->form_validation->run() == false) {

            if (
form_error('validation')) {
                
$data['error_validation'] = form_error('validation''<p class="text-danger">''</p>');
            }

            
$this->load->view('template/common/header'$data);
            
$this->load->view('template/account/login'$data);
            
$this->load->view('template/common/footer');

        } else {

            
$this->load->helper('string');

            
$token random_string('alnum'16);

            
$session = array(
                
'login_token' => $token
            
);

            
$this->session->set_tempdata(array('login_token' => $token), NULL300);

            
$this->session->set_userdata($session);

            
redirect(base_url('login/pwd/?token=' $token));
        }
    }

    public function 
pwd() {

        
$data['title'] = 'Admin Password Verification';

        if (!
$this->session->userdata('login_token') || !$this->session->tempdata('login_token')) {
            
$this->session->unset_userdata('login_token');
            
redirect(base_url('/'));
        }

        if (
$this->session->userdata('login_token') !== $this->input->get('token')) {
            if (
$this->session->userdata('login_token')) {
                
$this->session->unset_userdata('login_token');
            }

            
redirect(base_url('/'));
        }

        
$data['error_password'] = '';

        
$this->form_validation->set_rules('password''Password''required|callback_validatepassword');

        if (
$this->form_validation->run() == false) {

            if (
form_error('password')) {
                
$data['error_password'] = form_error('password''<p class="text-danger">''</p>');
            }

            
$this->load->view('template/common/header'$data);
            
$this->load->view('template/account/password'$data);
            
$this->load->view('template/common/footer');

        } else {

            if (
$this->session->userdata('login_token')) {
                
$this->session->unset_userdata('login_token');
            }

            
redirect(base_url('dashboard'));
        }

    }

    public function 
validatepassword() {

    }

There's only one rule - please don't tell anyone to go and read the manual.  Sometimes the manual just SUCKS!
Reply


Messages In This Thread
RE: Expire Session Question - by wolfgang1983 - 12-15-2017, 01:53 AM
RE: [Solved] Expire Session Question - by Narf - 12-20-2017, 08:45 AM



Theme © iAndrew 2016 - Forum software by © MyBB