Перво-наперво, так что у вас, ребята, есть некоторый опыт, я младший разработчик, который использует в основном 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, так как пользователь ПРЕДЛАГАЕТСЯ, чтобы иметь доступ к "Другой странице" из где угодно.