yourdev.ch » Code & Script Details
FacebookTwitterDel.icio.usMr. Wong
Yourdev auf Twitter unter yourdev_ch

Lost PHP Session in file upload trough Flex

Bei einem File Upload welcher eine PHP Datei aufruft in einer Flex Applikation verliert man auf mysteriöse art und weise die Session. Hier eine Idee zum Lösen dieses Problems.

Eine kleine Anleitung zum Lösen des Problems mit PHP Sessions welche leider nicht mehr vorhanden ist beim PHP File welches von Flex aufgerufen wird (und meinem Beispiel: myfile.php).

1. PHP SESSION ID in flex Applikation übergeben: (Diese Schritt könnte auch über "ExternalInterface.call" welcher eine JavaScript Funktion aufruft und somit die Session Cookie namen zurückgibt.) In meinem Beispiel wird die Variable über Smarty in das SWF-Object eingelesen.

FlashVars="session_id={$session_id}"

2. Variable dem "File Handler" übergeben. UploadFile.swf:

private function initApp():void {
 session_id = mx.core.FlexGlobals.topLevelApplication.parameters.session_id;
}

private function upload():void {
 var request = new URLRequest('myfile.php?sessionId=' + session_id);
 ...
 ...

3. Der Wichtige teil passiert nun auf Seitens PHP. Sobald der sessionId Parameter vorhanden ist wird dieser Versuchen die Session zu reinitialisieren. myFile.php:

if(isset($_GET['sessionId'])) {
 session_id($_GET['sessionId']);
}
session_start();

/*
 * wird nun alle zuvor definierten Session values wieder ausgeben.
 */
print_r($_SESSION);

Kleine und einfache Lösung um dieses Problem hoffentlich erfolgreich zu Lösen.

Letzte Beitrag änderung am 10.01.2011 um 16:20 Uhr

Fragen zum Script, einen Fehler melden oder eine wichtige ergänzung mitteilen? Kontaktieren Sie uns einfach.

Kommentar verfassen

Nambé - Design your Life

Nambé - Design your Life Hochwertige, handgemachte Produkte für den Tisch und die Küche » Zum Portfolio

PHP Lab auf YourDev

PHP Lab auf YourDev PHP Lab - Gratis und Hilfreich für Jedermann! » Alle Anzeigen

Links