Вопрос о настройке пользовательских данных сеанса в базу данных в codeigniter 3 - PullRequest
0 голосов
/ 08 мая 2020

Перво-наперво, так что у вас, ребята, есть некоторый опыт, я младший разработчик, который использует в основном Laravel, однако только для этого проекта команда в основном разбирается в codeigniter 3, поэтому мне нужно адаптироваться, и в настоящее время это вроде как сбит с толку.

Итак, проблема в следующем: сеансы сохраняются в базе данных, я установил сеанс пользовательских данных, но к нему нельзя получить доступ, не сделав сначала ajax сообщение на первой странице.

Большинство переменных и функций будут обрезаны и / или изменены с тех пор, как я подписал NDA.

В самом первом контроллере мы читаем необработанные входные данные из android webview и устанавливаем пользовательские данные следующим образом :

//this data_one is from android webview
$data_one = file_get_contents('php://input');
if($data_one){
  $obj = (array) json_decode($data_one);
  $this->phone = '';
  if(isset($obj['phone'])){
    $this->phone = $obj['phone'];
  }
}

if($this->phone != ''){
  $session_data = array('page_data' => array("pg" => array("phone" => $this->phone)));
  $this->session->set_userdata($session_data);
}

//there's some data thrown into the data array before loading view, but NDA, so trimmed.
$this->load->view('first_page', $data);

В представлении есть выбор, который отправит запрос ajax, а затем перенаправит на следующую страницу. Однако в настоящее время я делаю другую страницу, к которой можно получить доступ до запроса ajax с первой страницы.

«Другая страница» полагается на пользовательские данные номера телефона с первой страницы для получения других данных. Однако, если пользователь не выбрал какие-либо параметры на первой странице, данные пользователя возвращаются пустыми, и по умолчанию используется инициализация переменной $ phone в контроллере «Другая страница».

Есть ли у вас какие-нибудь идеи почему это? Я застрял на этом на несколько дней, и мое "решение пещерного человека" - просто переместить ссылку "Другая страница" на "Следующую страницу", однако это своего рода плохой UX, так как пользователь ПРЕДЛАГАЕТСЯ, чтобы иметь доступ к "Другой странице" из где угодно.

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