Cookies ActionScript2

Résolu
rikoks Messages postés 4 Date d'inscription mercredi 10 juin 2009 Statut Membre Dernière intervention 10 juin 2009 - 10 juin 2009 à 10:13
rikoks Messages postés 4 Date d'inscription mercredi 10 juin 2009 Statut Membre Dernière intervention 10 juin 2009 - 10 juin 2009 à 13:51
Bonjour,

Je suis éllé sur le tutoriels suivant sur les SharedObject qui m'a été très utile :

<!-- BBCode auto-link end -->
http://www.flashkod.com/tutoriaux/TOUT-VOUS-AVEZ-TOUJOURS-VOULU-SAVOIR-SUR-SHAREDOBJECT_323.aspx

en effet j'ai réussit à récupérer mon cookie, en l'enregistrement puis en le chargeant dans la même page

Le problème, c'est que dans l'application, flash que je développe
j'aimerai le récupérer via un autre fichier flash indépendant, hélas
mon cookie n'est plus la et ma variable est undefined

Mon code est le suivant :
pour l'enregistrer :

sauvegarde(1, x, y, "Coucou Rikoks");

function sauvegarde(numero, coord_x, coord_y, texte){
   
    valeur = SharedObject.getLocal("memoire");
    donnees = valeur.data.nom;
   
    donnees = donnees + "<text><numero>" + i + "</numero><x>" + coord_x + "</x><y>" + coord_y + "</y><contenu>" + texte + "</contenu></text>";
   
   
   
    trace('sauver');
   
    valeur = SharedObject.getLocal("memoire");
    valeur.data.nom = donnees;
    valeur.flush(1000000);
    donnees = "";
   
}

pour le charger :

var donnees:String;

function charge(){
   
    valeur = SharedObject.getLocal("memoire");
    donnees = valeur.data.param1;
   
    champtexte.text=donnees;
}

charge();

Mon champtexte m'affiche un méchant : UNDEFINED

Je demande donc votre aide, ainsi qu'un supplément d'information sur ces cookies SVP

Merci d'avance





Rickox

5 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
10 juin 2009 à 11:46
Je suis partis de ton premier code, car tu n'avais pas encore mis le second.

Ensuite, un sharedObject est définis pour un niveau de domaine particulier, donc si tes deux animations ne sont pas au même niveau, il est impossible pour les deux de lire le même sharedObject (sauf manipulation chiante).

Et pour finir, dans un sharedObject, tu peux mettre n'importe quel type de donnée .. XML compris.

Peg'
3
rikoks Messages postés 4 Date d'inscription mercredi 10 juin 2009 Statut Membre Dernière intervention 10 juin 2009
10 juin 2009 à 10:33
Mon code est le suivant :
pour l'enregistrer :







var donnees:String;










sauvegarde();

function sauvegarde(){









    donnees = "Hello world";

    valeur = SharedObject.getLocal("memoire");
    valeur.data.






pamam1






= donnees;
    valeur.flush(1000000);
    donnees = "";
   
}



pour le charger :

var donnees:String;

function charge(){
   
    valeur = SharedObject.getLocal("memoire");
    donnees = valeur.data.param1;
   
    champtexte.text=donnees;
}

charge();

Mon champtexte m'affiche un méchant : UNDEFINED





Rickox
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
10 juin 2009 à 10:37
Bonjour,

Dans ton cas, il y a plusieurs erreurs classiques :

- tu implémentes une donnée qui n'existe pas, donc ça foire
- tu réouvres la donnée une seconde fois sans l'avoir sauvegardée
- lors de la lecture, tu cherches une variable appellée "param1" alors qu'elle n'existe pas, puisque celle que tu as écrit s'appelle "donnees"

Donc vire tes codes de getLocal et d'attribution de la variable "donnees" avant le Flush et change le nom de ta variable dans la fonction de chargement.

Et pour finir, si tu veux écrire un XML, il est bien plus simple de créer le xml, de le remplir et ensuite de l'inscrire dans le SharedObject.

Peg'
0
rikoks Messages postés 4 Date d'inscription mercredi 10 juin 2009 Statut Membre Dernière intervention 10 juin 2009
10 juin 2009 à 11:36
Oui, alors excuse moi, j'avais pas mi le bon code la première fois, bon fo que je m'exprime clairement, je suis pas très doué pour ça

Alors, l'objectif de mon code en fait est de mettre des notes(sous forme de textfield) sur un flash vierge, de les enregistrer dans un cookie, parce que j'ai déjà penser au xml mais mon flash est sur un CD-ROM, donc je ne crois pas que ce soi possible, l'application doi donc charger toute les notes à l'ouverture du flash par rapport à un cookie précedemment enregistrer
 
pour l'instant j'ai deux fonctions :

var donnees:String;
var
newdonnees:String;

function sauvegarde(){

    donnees = "Hello world";

    valeur = SharedObject.getLocal("memoire");
    valeur.data.pamam1 = donnees;
    valeur.flush(1000000);
    donnees = "";
   
}

function charge(){
   
    valeur = SharedObject.getLocal("memoire");
    newdonnees = valeur.data.param1;
   
    champtexte.text=newdonnees;

}

qd je met les deuc fonction à la suite dans le même fichier fla j'obtient bien dans mon champtexte "Hello world" par contre si je les met dans un fichier séparé alors j'ai undefined, je ne comprend pas pourquoi ? un cookie est censé rester à la fermeture du flash, non ?

Merci Pegase31 pour ta reponse rapide

- tu implémentes une donnée qui n'existe pas, donc ça foire // si si, je n'avais pas mit tout le code, c'est pour ça !!!
- tu réouvres la donnée une seconde fois sans l'avoir sauvegardée // je ne comprend pas très bien, j'ai le sauvegardé puisque j'ai mi flush, non ?
-
lors de la lecture, tu cherches une variable appellée "param1" alors
qu'elle n'existe pas, puisque celle que tu as écrit s'appelle "donnees" // je ne l'avais pas fait dans mon flash

Donc
vire tes codes de getLocal et d'attribution de la variable "donnees"
avant le Flush et change le nom de ta variable dans la fonction de
chargement.// pourquoi virer le getLocal avant le flush, je ne comprends pas, je doi être vraiment une merde ...

Et pour finir, si tu veux écrire un XML, il est bien
plus simple de créer le xml, de le remplir et ensuite de l'inscrire
dans le SharedObject.
// oui, mais comme je le di avant, je suis sur un CD, donc je ne crois pas que se sois fesable...

Rickox
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
rikoks Messages postés 4 Date d'inscription mercredi 10 juin 2009 Statut Membre Dernière intervention 10 juin 2009
10 juin 2009 à 13:51
Merci Pegase31 , c'est l'information qu'il me manquait.

Rickox
0
Rejoignez-nous