PHP SESSION读取问题,为什么老是报错session已经开启
<?php
/**
*fileName 1.php
*
*/
$id = 999898;
$key = 'order_87';
$_SESSION[$key] = $id;
if(!isset($_GET['code']))
{
header('Location:http://www.test.com/');
//流程是第一次去请求接口,接口会返回$_GET['code'],接口会重新请求本1.php
//我需要在接口返回code之后保存$id的值
}
else
{
$code = $_GET['code'];
}
$id = $_SESSION[$key];
//为什么这里会报notice 错误 undefined index $key ?我明明先设置了的,session已经开启
sessionstorage session php cookie cookies
elzzird
9 years, 9 months ago
Answers
你贴的这段代码不是原始的代码吧?
不管你有没有开启session,你在一开始就给
$_SESSION[$key]
赋值了,那么就不会出现
undefined index
我猜你这个问题主要是因为header跳转后session_id没有传递,可以检查下这几个东西:
1. 客户端是否禁用了cookie,如果禁用的话,用header要手动传递session_id或开启session.use_trans_sid
2. session_start()要先于任何header()
3. 跳转目标是否开启了session_start()
阿尔托莉娅
answered 9 years, 9 months ago