Codeigniter login проблема возвращается в мореходе

у меня есть следующий недостаток я использую codeigniter, и когда меня logueo вводит в поле зрения главный все добро, но когда я закрываю заседание, и когда я возвращена в виде vlogin "вид подхода к системе" если я нажимаю сзади в мореходе, Вы возвращаете меня в поле зрения vrpincipal, не будучи logueado. я проверил из-за Веба, но не достигаю ясного решения проблемы. Добавление контролирующее и оденьте в метод logout, что является тем, которого я использую, чтобы разрушать заседание. С уже большое спасибо.//контрольный прибор clogin

<?php

/ ** * */class Clogin extends CI_Controller {

function __construct() {
    parent::__construct();
    $this->load->model('mlogin');

}

public function index() {

    $this->load->view('layout/header');
    //$this->load->view('layout/footer');
    $this->load->view('persona/vlogin');

}

public function ingresar() {

    //$this->load->library('encryption');
    $user = $this->input->post('username');
    $pass = md5($this->input->post('password'));

    $r = $this->mlogin->ingresar($user, $pass);

    if ($r == 1) {

        redirect('cprincipal');

    } else {

        redirect('clogin');

    }
}

public function logout() {

    if ($this->session->set_userdata('username')) {
        $this->session->sess_destroy('username');
        //redirect(base_url() . 'clogin');
        redirect('clogin');
    } else {
        redirect('clogin');
    }

}

}

//я моделирую mlogin

<?php

/ ** * */class Mlogin extends CI_Model {

public function __construct() {
    parent::__construct();

}

public function ingresar($user, $pass) {

    $this->db->select('usuarios.Id_usuario, usuarios.user, usuarios.password, usuarios.rol, usuarios.id_area, areas.area, areas.id_area');
    $this->db->from('usuarios');
    //$this->db->from('areas');
    $this->db->where('user', $user);
    $this->db->where('password', $pass);
    $this->db->join('areas', 'areas.id_area = usuarios.id_area');

    $resultado = $this->db->get();

    if ($resultado->num_rows() == 1) {
        $r = $resultado->row();

        $s_usuario = array(
            's_Id_usuario' => $r->Id_usuario,
            's_user' => $r->user,
            's_rol' => $r->rol,
            's_area' => $r->area,
            's_id_area' => $r->id_area,
        );

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

        return 1;

    } else {
        return 0;
    }

}

//вид vlogin

     <body>

    <section class="login-content">
      <div class="logo" style=" font-family: sans-serif; ">
        <h2 style="position: relative;z-index: 100 "> </h2>
      </div>
      <div class="login-box">
        <form class="login-form" action="<?php echo base_url(); ?>clogin/ingresar" method="POST">
          <h3 class="login-head"><i class="fa fa-lg fa-fw fa-user"></i>ACCESO</h3>
          <div class="form-group">
            <label class="control-label">Usuario</label>
            <input class="form-control"  name="username"   type="text" autofocus title="Es obligatorio que ingreses usuario" required>
          </div>
          <div class="form-group">
            <label class="control-label">Contraseña</label>
            <input class="form-control" type="password"  name="password" title="Es obligatorio que ingreses contraseña" required>
          </div>
          <div class="form-group">
            </div>
          <div class="form-group btn-container">
            <button type="submit" class="btn btn-primary btn-block" ><i class="fa fa-sign-in fa-lg fa-fw"></i>Ingresar</button>
          </div>
        </form>

      </div>
    </section>
  </body>
0
задан 05.11.2019, 17:29
1 ответ

Ты нуждаешься в том, чтобы проконтролировать в тебе cprincipal (Я Интуитивно чувствую, что главный драйвер) , что любой человек, что будет соглашаться на метод Index из вышеупомянутого драйвера этот logueada.

    class CPrincipal extends CI_Controller
    {

        public function __construct()
        {

            parent::__construct();

            // User Access Control
            if (!isset(

Ты нуждаешься в том, чтобы проконтролировать в тебе cprincipal (Я Интуитивно чувствую, что главный драйвер) , что любой человек, что будет соглашаться на метод Index из вышеупомянутого драйвера этот logueada.

[110]

Из этого способа, вернувшись atrГЎs, или который строитель того же самого должен пробовать соглашаться с любой формы до твоего Главного вида через призыв к тебе CPrincipal comprobarГЎ, если существует session. В противоположном случае mandarГЎ в пользователя обратно в login .

я рекомендую Тебе использовать arrays associativos мультипространственные для переменных session.

$this->session->set_userdata('logged_in', $s_usuario);

Из этой формы podrГЎs посылать полный array или делать unset всех Ваших индексов.

, Чтобы закрывать session правильно...

public function logout() {

    $this->load->library('session');

    $this->session->unset('logged_in'); // O clave de tu array.
    session_destroy();

    redirect('login', 'refresh');

}
SESSION['logged_in'])) { redirect('clogin'); } } }

Из этого способа, вернувшись atrГЎs, или который строитель того же самого должен пробовать соглашаться с любой формы до твоего Главного вида через призыв к тебе CPrincipal comprobarГЎ, если существует session. В противоположном случае mandarГЎ в пользователя обратно в login .

я рекомендую Тебе использовать arrays associativos мультипространственные для переменных session.

$this->session->set_userdata('logged_in', $s_usuario);

Из этой формы podrГЎs посылать полный array или делать unset всех Ваших индексов.

, Чтобы закрывать session правильно...

public function logout() {

    $this->load->library('session');

    $this->session->unset('logged_in'); // O clave de tu array.
    session_destroy();

    redirect('login', 'refresh');

}
0
ответ дан 01.12.2019, 12:41
  • 1
    Привет, оно я не функционирует позволяет мне присоединяться я logueo и направляет меня в поле зрения vprincipal, если я даю назад в браузере, Измените линию на модель с $ this-> session и agrege условие, поскольку ты описываешь – Julio 07.11.2019, 17:34
  • 2
    Login = > Главный вид = > Logout... Уже, хотя ты нажимаешь назад не ты dejará видеть главный вид. Для этого ты, должно быть, удаляешь правильно session. Используй в твоей функции Logout, в которую ты, должно быть, призываешь к desloguear... $ this-> session-> unset (' logged_in); session_destroy (); redirect (' login'); – Tygreton 07.11.2019, 17:44
  • 3
    Ты удаляешь переменные сеанса... разрушаешь сеанс и пересылаешь login. Сейчас, если ты нажимаешь назад... сеанс, закройся ты не можешь входить... – Tygreton 07.11.2019, 17:45
  • 4
    он дает мне эту ошибку Call to undefined method CI_Session:: unset () когда я deslogueo в методе logout. Измените код на метод logout, как ты описываешь, и я поместил три lí neas có я говорю – Julio 07.11.2019, 17:54
  • 5
    Añ ade эта линия в начале метода logout (он издан наверху). Или используй файл autoload.php, чтобы загружать автоматически книжный магазин sessiones во всем проекте. this-> похвалите - > library (' session'); – Tygreton 07.11.2019, 18:12