Я использую аддон jquery swfupload.
Это дополнение SWFUpload работает с php-файлом upload.php (отправляет информацию о загруженном файле на него, а php сохраняет в dir).
Теперь моя проблема в том, что на каждой странице моего сайта я включил page_protect ();
Это запускает проверки сессий и устанавливает переменные сессии, такие как userID.
Сейчас вupload.php Я хочу вывести пример.«OK id 123, вы сделали это !!»
id 123 должен быть выведен в виде $ _SESSION ['userID'].Я попытался вывести это, но ничего подобного в $ _SESSION ['userID'] нет.
Я не понимаю, это работает на всех моих других страницах.
Но похоже, что SWFupload использует флэш-память для чтения и выполнения upload.php, сеанс другой / исчезает и не может получить переменные?
Есть объяснение этому?Как я могу это исправить?
Обновление
Я попытался создать HTML-форму обычного файла с action = "upload.php" и сделал upload.php для отправкиидентификатор сессии().Когда я сделал это, я получил тот же идентификатор, что и другие мои сайты, и моя переменная userID работала просто отлично!
Затем я попытался установить для debug значение true на swfupload и выгрузить файл upload.php таким же образом, session_id, и этораз это был другой session_id и НЕ, как и другие, которые содержат переменную user_ID.
Так или иначе, когда он использует flash и выполняет upload.php, он начинает совершенно новый сеанс и, следовательно, в нем нет переменных, сохраненных в нем.Хотя это только теория, которую я обнаружил до сих пор.
Обновление
Хорошо, так что теперь я обнаружил, что session_id отправляется в конфигурации SWFUpload,
post_params: {"PHPSESSID" : "<?php echo session_id(); ?>"},
И я могу увидеть в файле upload.php позже в коде, после печати session_id (), что он фактически изменяет идентификатор сеанса следующим образом:
// Code for Session Cookie workaround
if (isset($_POST["PHPSESSID"])) {
session_id($_POST["PHPSESSID"]);
} else if (isset($_GET["PHPSESSID"])) {
session_id($_GET["PHPSESSID"]);
}
Я взял это ипоместил его до того, как я распечатал session_id (), и теперь он печатает тот же session_id (), что и тот, в котором хранится переменная userID.
Теперь я пытаюсь снова вывести userID, но теперь я просто получаю Undefinedindex: ошибка userID, как будто она не была установлена.
Я также попытался установить другую переменную, кроме userID, 'test' со значением 123, установить на странице загрузки формы и хочу вывести при загрузке.Страница php, и он не может вывести его.
Как я могу это исправить?пожалуйста