ajax - 关于在codeigniter 3中将会话用户数据设置为数据库的问题
问题描述
首先,你们有一些背景知识,我是一个初级开发者,主要使用 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 变量的初始化。
你们知道这是为什么吗?我坚持了好几天,我的“穴居人解决方案”是将“另一页”的链接移动到“下一页”,但是这有点糟糕的用户体验,因为用户应该能够访问“另一页”任何地方。
解决方案
推荐阅读
- ruby-on-rails - 如何使用 Rails 中的 Pagy gem 对多个模型进行分页?
- math - 如果发了x张牌并且知道牌组的组成,如何获得同花同花的概率?
- java - Java计算器类型的方程不起作用
- c++ - 使用自定义 new() 运算符和类时谁为 shared_ptr 的控制块分配内存
- kotlin - 在 KOTLIN 中获取请求
- javascript - 视频 html 标签上的 CORB 错误阻止视频内容显示
- reactjs - TypeError:无法解构“props.todo”的属性“名称”,因为它未定义。反应
- python - 将熊猫 to_datetime 与 datetime 对象进行比较
- python - 寻找最佳加权平均值
- angular - 如何调试`ng build`?