无法访问从Flash调用的PHP中的$ _SESSION变量

时间:2010-01-15 15:36:31

标签: php jquery flash

我无法访问$_SESSION变量。

我在文件的开头有session_start()

我正在使用jQuery uploadify并且它调用了一个php后端文件,该文件无法访问$_SESSION个变量,尽管外面的其他文件也可以。

它可能与flash(jquery uploadify)调用php的方式有关吗?

有谁知道如何规避这个?

更新:在网址中包含了session_id,但它没有用。

$('#image_upload').uploadify({
    'uploader':     '../../frontend/jquery/plugins/uploadify/swf/uploadify.swf',
    'script':       "controllers/image_upload.php?SID='.session_id()'",
    'fileDataName': 'upload',
    'method':       'POST',
    'multi':        'true',
    'fileDesc':     'tseting',
    'fileExt':      '*.jpg; *.jpeg; *.png',
    'sizeLimit':    '100000000',
    'buttonText':   'Ladda upp bilder',
    'auto':         'true'
});
编辑:我想我知道问题是什么。

在FF中的livehtmlheader的标题信息中显示错误消息:

 HTTP/1.x 404 Not Found

而其他常规页面请求显示

 HTTP/1.x 200 OK

有人知道怎么解决这个问题吗?

编辑:抱歉,我错了。这不是404的原因,那是对另一个文件的请求。使用uploadify发布时没有请求!没有发送html标头。我认为它使用另一种方法来获取带flash的php文件(uploadify.swf)。

所以现在我无法将这个sessid发送到我的php文件中:(必须找到其他方法

3 个答案:

答案 0 :(得分:2)

在某些浏览器(firefox iirc)中,“特殊”调用(例如文件上传和amf)并不总是沿会话cookie发送。避免这种情况最实用的方法是在嵌入闪存时将其设置为flashvar,并将其与您的请求一起手动发送。

答案 1 :(得分:0)

尝试手动添加“?SID =”。session_id()到网址。

答案 2 :(得分:0)