Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2927 connectés 

  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  Flash et les sessions PHP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Flash et les sessions PHP

n°1483768
zecoke
Posté le 29-11-2006 à 15:08:46  profilanswer
 

*** Edit ***
Ca marche avec Internet Explorer, mais pas avec FireFox ^^
Manquait plus que ca !
En faisant quelques recherches j'ai vu qu'apparemment ca pourrait venir du fait que l'header IE renvoi le PHPSESSID et pas FF...
Si quelqu'un à une solution...
**********

Bonjour,
 
Voilà j'utilise du flash pour faire de l'upload, un simple bouton parcourir en flash puis une barre de progression (l'utilité du flash et surtout pour cette barre de progression), ca envoi ensuite le fichier à un upload.php qui copie sur le server avec du move_uploaded_file
 
Jusque là tout va bien, et tout marche :)
 
Le seul problème est lorsque dans mon upload.php je veux quele fichier uploadé soit copié dans le repertoire d'un utilisateur... En effet, d'habitude j'utilise une variable de session : $_SESSION['files'] qui contient le chemin vers le repertoire de l'utilisateur, sauf qu'apparemment, en passant par flash, le fichier upload.php qui est appelé par flash ne peut se servir de variable de session...
 
pourtant :  
 

Code :
  1. <?php
  2. session_start();
  3. $racine="../../../";
  4. include($racine."inc/la-config.php" );
  5. if ($_FILES['Filedata']['name']) {
  6.    $uploadDir = $sitePath.$_SESSION['files'];
  7.    $uploadFile = $uploadDir . $_FILES['Filedata']['name'];
  8.    move_uploaded_file($_FILES['Filedata']['tmp_name'], $uploadFile);
  9. }
  10. ?>


 
Si quelqu'un a une idée ? :)


Message édité par zecoke le 29-11-2006 à 16:09:07
mood
Publicité
Posté le 29-11-2006 à 15:08:46  profilanswer
 

n°1483781
craps_youp​la
Posté le 29-11-2006 à 15:34:39  profilanswer
 

le handler est passé dans $_FILES['Filedata']; cf. la doc de Flash

n°1483784
zecoke
Posté le 29-11-2006 à 15:38:15  profilanswer
 

hein ?  :heink:
 
Nan mais mon souci c'est juste de savoir comment recuperer les variables de session dans le fichier appelé par flash en fait..

n°1483815
Zedlefou
In cabbage we trust !
Posté le 29-11-2006 à 16:15:27  profilanswer
 

Bah moi je m'en sers beaucoup et ça marche très bien.
 
session_name('LENOM');
session_start();
 
if(session_is_registered("trucMachin" )) {  
extract($_SESSION);
 
et là j'utilise toutes mes variables $foo $bar comme il se doit ...
 
}

n°1483862
zecoke
Posté le 29-11-2006 à 17:11:23  profilanswer
 

hein² ?  :heink:
 
Je sais que les variables sessions marchent dans du php (encore heureux !!), j'en utilise à tire l'arigot :)
Là n'est pas le problème, le souci, c'est que dans un fichier php appelé à partir d'un flash avec du Filereference, sur Firefox, les variables sessions sont vides.

n°1483878
craps_youp​la
Posté le 29-11-2006 à 17:32:27  profilanswer
 

le FileReference écrase les headers pour placer son fichier et son content-type (RTFM), passe tes variables en GET dans le script PHP appelé par la méthode upload() :
 

n°1483879
zecoke
Posté le 29-11-2006 à 17:39:12  profilanswer
 

Arf, pas très sécurisé tout ca, suffit que les mecs changent les variables passés en GET pour changer les repertoires de destination par exemple...

n°1483991
Zedlefou
In cabbage we trust !
Posté le 30-11-2006 à 00:14:42  profilanswer
 

zecoke a écrit :

hein² ?  :heink:
 
Je sais que les variables sessions marchent dans du php (encore heureux !!), j'en utilise à tire l'arigot :)
Là n'est pas le problème, le souci, c'est que dans un fichier php appelé à partir d'un flash avec du Filereference, sur Firefox, les variables sessions sont vides.


 :D non mais ce que je voulais dire c'est que j'utilise ça sur des pages appelé par Flash et j'ai pas de probléme mais comme le dit Craps, ton probléme peut être spécifique à FileReference

n°1484027
craps_youp​la
Posté le 30-11-2006 à 09:05:10  profilanswer
 

bah on s'en fout, les répertoires de destination c'est côté client, quel est l'intérêt de copier n'importe où, sur sa propre machine ?

n°1496873
armabarbu
Posté le 28-12-2006 à 23:30:35  profilanswer
 

hello
 
 
j'arrive peu être un peu tard ... mais j'ai déjà vu cette question posée mainte et maintes fois sur différents forum et voici la seule solution à laquelle je suis parvenu.
 
le problème viens du fait que falsh ne forward pas les variables de sessions quand il fait appel à une url..... (IE et FF les font passer dans le header de leur requètes - flash, n'étant pas un browser à proprement parler ... il ne tient donc pas compte de ces 'détails')
 
enfin bref,  la solution est peut être un peu tirée par les cheveux et recquiert un hosting pour lequel php a été configuré avec l'option session.use_only_cookies = 0 (ie, php accepte de gére les session provenant d'ailelurs que des cookies)
 
donc, on a un script php qui va créer la page dans lequelle se trouvera le swf. lors de la création de cette pages, il suffit de rajouter aux flashvars l'url du script à appeler par flash et d'y ajouter <?= strip_tags(SID); ?> si qui aura pour effet de rajouter qqchose comme "session_name=session_id" à l'url à appeler.
 
du coup notre flash lui appelera le script php en faisant passer cette nouvelel informations.
 
c'est ici que php doit être configuré avec session.use_only_cookies = 0. car ainsi, php traitera cette variable GET comme n'importequel cookie de session ....  
 
et hop, miracle ... les sessions marchent ;-)
 
enfin bref, c peut être un peu farfelu, mais si qq'un à une idée plus simple, je suis preneur ;-)

mood
Publicité
Posté le 28-12-2006 à 23:30:35  profilanswer
 

n°1498377
smoggin
Posté le 03-01-2007 à 17:40:33  profilanswer
 

Salut,
 
je suis confrontée au même problème, j'ai tenté la solution apportée par armabarbu mais ça a pas l'air de fonctionner
 
En fait j'ai une page avec uploader flash et des infos contenues dans la session. Le script d'upload en PHP est appelé par le flash, il est censé uploader le fichier puis enregistrer les informations relatives à ce fichier dans la base de données. Seulement les sessions ne fonctionnent pas.
 
J'arrive à faire transiter l'id de la session de la page contenant le flash jusqu'au script d'upload en faisait passer le SID par le flash et en le récupérant dans le fichier upload_process.php. Par contre j'ai l'impression que ça ne suffit pas car les variables de $_SESSION sont toujours vides dans upload_process.php alors que dans la page qui contient le flash elles sont remplies.
 
L'url appelée par le flash est upload_process.php?PHPSESSID=8268ef6f77fd8fa5de1130976a0574bc mais je ne suis pas sûre que mettre "PHPSESSID" fonctionne, "session_name" ne fonctionne pas mieux. Y'a t-il quelque chose de plus à faire pour utiliser les sessions ?  
 
Merci !
 
PS: le serveur est configuré sur off pour session.use_only_cookies
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  Flash et les sessions PHP

 

Sujets relatifs
[PHP] Quel environnement de dev dans votre société ?[FLASH] GetUrl sur fichier .zip ne marche pas avec Internet explorer
[PHP/MySql] [Resolu merci !]Insertion de données temporaire.retourner dans une chaine un fichier PHP interprété
[Tutos] FlashSon flash ou pas???
[PHP] Traitement liste choix multiples[Flash]Créer un bouton avec du texte changeable à la volée?
Flash - Anti alias qui ne fonctionne pasRécupere sur une meme page une variable PHP ou un moyen de m'en sortr
Plus de sujets relatifs à : Flash et les sessions PHP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR