我为客户构建的电子商务系统存在问题,部分订单空白。我添加了代码来检查是否正在设置会话,并且没有在某些订单上设置它们,这就是它出现空白的原因。
我使用会话的原因是存储订单信息
例如:$_SESSION['data']=$_POST;
我只能假设用户在浏览器中禁用了Cookie,并且想知道如何解决这个问题。
我想要做的是检查Cookie是否已启用,如果没有通过$_GET
发送会话ID,但如何使用会话ID访问$_SESSION['data']
?
所以我的问题是:
如何检查Cookie是否已启用,以及是否通过get发送会话ID以及如何使用会话ID访问$_SESSION['data']
?
答案 0 :(得分:2)
您必须手动打开会话管理器,例如
<?
session_id($_GET['session_id']);
session_start();
//you can now acccess $_SESSION['data']
答案 1 :(得分:2)
你可以在php.ini中设置session.use_trans_sid,它会自动通过GET或POST附加会话ID
它通过在php.ini中再次根据url_rewriter.tag条目自动重写某些元素(如href)来完成此操作。
请注意,使用Cookie通常更可取,因为在网址中存储会话ID会导致用户无意中与其他人共享会话ID