CodeIgniter Ion_auth проверить логин

как я могу проверить, вошел ли пользователь в систему или нет в поле зрения ??

что-то вроде этого:

if ($this->ion_auth->logged_in())
{
    // do something ..
}
else
{
    // do something else ..
}

и как я могу получить пользовательские данные в переменную?

большое спасибо.


person MAMProgr    schedule 29.06.2012    source источник


Ответы (3)


В вашем контроллере вы можете сделать что-то вроде

function some_method() {
    if ($this->ion_auth->logged_in()) {
      $loggedin = true;
    } else {
      $loggedin = false;
    }

    $data['loggedin'] = $loggedin;

    $this->load->view('some_view.php', $data);
}

а потом на ваш взгляд

<?php if ($loggedin): ?>
    <p>Logged in</p>
<?php else: ?>
    <p>Please log in</p>
<?php endif; ?>


В качестве альтернативы вы можете просто загрузить другое представление с вашего контроллера, независимо от того, вошел пользователь в систему или нет.

person stealthyninja    schedule 29.06.2012

Как сказал Stealthyninja, это должно выполняться в контроллере. Вы можете сократить объем кода в ваших контроллерах, расширив базовый контроллер CodeIgniter, а затем ваш контроллер для аутентифицированных областей вашего проекта расширит ваш пользовательский контроллер. В вашем пользовательском контроллере может быть конструктор, который проверяет, аутентифицирован ли пользователь, и соответствующим образом перенаправляет его. Этот же конструктор может также устанавливать переменные внутри, чтобы они были легко доступны для подклассов пользовательского контроллера.

person 27A    schedule 29.06.2012
comment
Спасибо за совет. Дополнительные сведения см. в разделе «Расширение базового класса» на этой странице: ellislab.com/codeigniter/user -guide/general/core_classes.html - person tagawa; 16.02.2014

Контроллер:

$this->ion_auth->logged_in() ? $data['logged'] = true : $data['logged'] = false;

$this->load->view('index', $data);

Вид:

<?php if ($logged): ?>
    do something...
<?php else: ?>
    do something else...
<?php endif; ?>
person karolkarp    schedule 17.08.2017