由于我们的支付系统,我们必须使用第三方网站上的某种中继系统,才能拥有有效的 PCI (HTTPS)。
我们目前正面临一个我们已经使用了太多小时的奇怪错误。
我们的注册有 4 个步骤。
- 输入所有数据。
- 添加图片
- 支付
这就是我们的做法:在第 1 步中,我们将所有发布数据保存到会话中
$this->session->set_userdata("campaigncreation", $out);
,是的,$out 包含所有数据。
在这一步,我们可以轻松打印出用于活动创建的会话数据;
<?print_r($this->session->userdata)?>
因为我们需要去另一个网站,所以我们将 session_id 添加到我们的调用中,以将会话保留在第三方网站上。
如您所见,我们在 URL 中获取 session_id ( <?=$this->session->userdata("session_id")?>
),在我们的控制器中,我们将会话 id 替换为控制器中的会话 id,如下所示:
$phpsess 是“ a1264526031adb9c71ae433eef44bfa0
”
if ( !empty($phpsess)){
$this->session->set_userdata("session_id",$phpsess);
}
当我们现在打印出用户数据时,我们得到了正确的 session_id,但它并没有以某种方式从第 1 步中获取数据。做什么?
我只得到
Array
(
[session_id] => a1264526031adb9c71ae433eef44bfa0
[ip_address] => 87.54.46.121
[user_agent] => Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.69 Safari/537.36
[last_activity] => 1383052142
[user_data] =>
[advertiser_id] => 1
[advertiser_name] => xxxx
)
但在某种程度上,它仍然具有advertisingr_id 和advertisingr_name 的正确数据,所以这很奇怪。
做什么?
这就像 codeigniter 在每次页面加载时刷新 session_id 一样,因此会有问题。
或者可能是因为域 cookie 设置?我不知道,请帮助我们。