在这样下去我都打算放弃CI了。问题太奇怪。麻烦大神进来看
我是用swfupload+ci的upload库上传。在chrome浏览器下一切正常。
但是在IE7下就不正常。一上传就显示:upload error:302
奇怪的是,刷新页面,后台就自动退出登陆页面。估计是清空了cookies吧。我是用ci 的session类写的验证页面。大概内容如下:
parent::__construct();
if($this->session->userdata('logged_in')!== TRUE)
{
redirect('login');//一刷新,就退出登陆页面,就说明$this->session->userdata('logged_in')!=TRUE了。
}
$this->load->driver('cache');
$this->load->model('manager_model');
写入我是用下面方式写入的:
$data=array(
'id'=>$obj->id,
'name'=>$obj->name,
'logged_in'=>TRUE
);
$this->session->set_userdata($data);
为什么上传错误后,一刷新页面就退出了呢。哪位大神帮我分析一下。在chrome一切正常。如果有机会,加我QQ:55967659,我远程演示给大家看下。
哎。。。。。。。。。。痛苦,郁闷,烦燥,!!!
我用的是ci 2.1.2版本。
找到一篇资料。似乎就是这个问题,供大神们参考。
关于Yii SWFUpload多文件上传的常见问题
1. SWFUpload Flash与Yii Cookie的问题.
按照SWFUpload官方文档中的说明, 由于Flash中FileReference的Bug,导致当前浏览器中的Cookie并不会随着Flash请求一起发送,Yii无法通过Session 检测上传者的用户识别信息,SWFUpload 将提示302错误的信息,解决办法在入口文件index.php中加入
?if(isset($_POST['PHPSESSID'])) $_COOKIE['PHPSESSID'] = $_POST['PHPSESSID'];
?$yii = dirname(__FILE__) . '/../framework/yii.php';
...
if(isset($_POST['PHPSESSID']))
$_COOKIE['PHPSESSID'] = $_POST['PHPSESSID'];
require_once($yii);
Yii::createWebApplication($config)->run();
CI中如何解决这个问题呢? 这个你就是用纯PHP也有这问题,这是FLASH上传引起的,和CI半毛钱关系没有。
怎么解决,本论坛就有很多帖子讲解。 swfupload 不会携带 sessionid 上传,你可以在参数formvalue里加上,或者用get的参数传递。 大神帮帮忙吧。我急的烦燥死了。现在都不知道如何解决。传seesionid就行吗?我在论坛里搜索,可是找不到这方面资料。我现在还在找呢。刚才处理了一下。可以上传了。但是一刷新,还是退出到后台登陆页面。 http://codeigniter.org.cn/forums/thread-11305-1-1.html 在你放弃之前先搜一下论坛的上的帖子 post_params: {"PHPSESSID": "v8ibf9e3jj4ijs1s405d6urgh1"}
使用POST传参,php中设置session_id($_POST['PHPSESSID']);
我按上面方式做了。可是还不行。能否加我QQ:55967659.远程帮我处理一下。快两天了 我在swfupload通过post传了sessionid。
然后按下面处理。还是不行
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class MY_Controller extends CI_Controller{
public function __construct()
{
parent::__construct();
if (isset($_POST["SSID"])) {
session_id($_POST["SSID"]);
} else if (isset($_GET["SSID"])) {
session_id($_GET["SSID"]);
}
if($this->session->userdata('logged_in')!== 1)
{
redirect('login');
}
页:
[1]
2