Как сохранить отдельные данные из session_data в ci_session - PullRequest
1 голос
/ 21 мая 2019

Мне нужны единичные данные, такие как first_name, чтобы сохранить их в другом поле, используя ci_session.Как я могу добиться этого?

Вот $session_data, что он экономит до ci_session.Мне нужны определенные данные внутри него, чтобы передать их в поле журнала.

__ci_last_regenerate | i: 1558420176; logged_in | b: 1; profile | O: 8: "stdClass": 18:{s: 2: "ID"; s: 1: "1"; s: 5: "электронная почта"; s: 17: "teacher@email.com"; s: 7: "ROLE_ID"; s: 1:»2 "; s: 19:" tekteach_login_flag "; s: 1:" 0 "; s: 15:" date_registered "; s: 19:" 0000-00-00 00:00:00 "; s: 7:" удалено"; s: 1:" 0 "; s: 10:" first_name "; s: 4:" Omar "; s: 9:" last_name "; s: 4:" ISIP "; s: 11:" middle_name ";с: 7: "Chester"; s: 6: "пол"; s: 4: "Мужской"; s: 8: "День рождения"; s: 10: "2019-05-10"; s: 6: "статус"; s: 6:" Активный "; s: 12:" grade_course "; s: 0:" "; s: 10:" created_on "N; s: 10:" CREATED_BY "; s: 1:" 0"; с: 11: «измененный_он»; N; с: 11: «измененный_бай»; с: 1: «0»; с: 10: «удаленный_бай»; с: 1: «0»;}

if ($this->_row_exists === FALSE)
{
    $insert_data = array(
        'id' => $session_id,
        'ip_address' => $_SERVER['REMOTE_ADDR'],
        'timestamp' => time(),
        'data' => ($this->_platform === 'postgre' ? base64_encode($session_data) : $session_data),
        'log' => 1 //my own field
    );

1 Ответ

0 голосов
/ 21 мая 2019

Добавить элемент сеанса "first_name" к $insert_data['log'] довольно просто. В этом ответе предполагается, что вы используете CodeIgniter версии> 3.0.0.

$insert_data = array(
    ...other items...
    'log' => $this->session->first_name;
);

Если вы хотите какой-то другой элемент данных сеанса, просто измените 'first_name' на нужный элемент Например, данные электронной почты

'log' => $this->session->email;

Или, если вы абсолютно уверены, что нужный элемент присутствует в данных сеанса, вы также можете сделать это.

$insert_data = array(
    ...other items...
    'log' => $_SESSION['first_name'];
);

Это наименее ресурсоемкий и быстрый способ получения данных сеанса. Но будьте осторожны, если $_SESSION['first_name'] не существует, будет выдана ошибка. Первый пример не выдаст ошибку, но вернет NULL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...