cookie - PHP SESSION读取问题,为什么老是报错session已经开启
怪我咯
怪我咯 2017-04-10 15:36:49
[PHP讨论组]
<?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已经开启
怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(6)
怪我咯

session_start(); //加入了吗?

高洛峰

你贴的这段代码不是原始的代码吧?

不管你有没有开启session,你在一开始就给$_SESSION[$key]赋值了,那么就不会出现undefined index

我猜你这个问题主要是因为header跳转后session_id没有传递,可以检查下这几个东西:

1. 客户端是否禁用了cookie,如果禁用的话,用header要手动传递session_id或开启session.use_trans_sid
2. session_start()要先于任何header()
3. 跳转目标是否开启了session_start()
PHPz

运行正常,戳demo

PHP中文网

加 session_start();

框架用多了吧 哈哈
很多框架默认开启的

看了下回复 key是变量时候的问题
说明这个变量不存在了

黄舟

就是说 session 存储不了值? 确定磁盘(如果存在磁盘的话)没有满?

迷茫

设置 $_SESSION[$key] = $id;
立即读取:var_dump($_SESSION[$key]);看看这样子行不行;

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号