Нещодавно зіткнувся із завданням роботи FancyUpload та сесіями в PHP. У деяких ситуаціях нам необхідно перевірити сесійні змінні. Все б наче зрозуміло, на сторінці розміщуємо форму завантаження, а в коді обробника робимо перевірку, і начебто ID сесії запитаної сторінки і запитів AJAX зі сторінки повинні бути ідентичними. Однак при завантаженні скрипт відповідає на AJAX-запити стартує нову сесію, відповідно ідентифікатор сесії виходить інший. Рішенням якими скористатися ділюся тут. Отже, т. к. AJAX запит в FancyUpload проводитися методом GET, відповідно, в якості додаткового параметра нам можна відправити значення ID сесії. При ініціалізації FancyUpload робимо наступне:

url: ‘fancyupload3/script.php?sid=’,

Для тих, кому не доводилося з цим стикатися, зазначу, що за замовчуванням ID сесії передаються автоматично браузером у вигляді cookies-значення PHPSESSID. Тут же ми будемо передавати змінну сесії в запиті, та встановлювати її вручну.
В скрипті-оброблювачі встановлює значення параметра сесії, таким методом:

if (!isset($_GET[‘sid’])) die; # припиняємо виконання якщо не переданий параметр
session_id($_GET[‘sid’]); # задаємо ID сесії

Ну ось, власне і все.

Додав: htmaker, 16.06.2014 р.
(Ще не оцінили)

Завантаження…

Діліться з друзями:

См. також:


Пісочниця для PHP
Рубрика: PHP, Інструменти

Конфіг файли
Рубрика: PHP

Установка XCache в Linux CentOS
Рубрика: Linux, PHP

Використання SOAP в PHP
Рубрика: PHP

Встановлення PHP Soap на CentOS
Рубрика: Linux, PHP

Обсяг даних в зручному форматі на PHP
Рубрика: PHP

Транслітерація символів на PHP
Рубрика: PHP

Як перетворити URL-рядок в масив?
Рубрика: PHP

Добірка шаблонів регулярних виразів
Рубрика: PHP