Flash: me rajoute du code dans un calque texte dont le contenu est géneré en php

Ok.

Flash me rajoute le code suivant:
=&onLoad=[type Function]
dans un champ texte (dynamique) dont le contenu est généré à l’aide d’un ptit script php qui lit une db et vomit sans formatage aucun les données (du texte avec un bo breakline
à la fin de chaque entrée). C’est tout ce qu’il fait.

La scène comporte uniquement ce champ texte, voici le code que j’utilise pour afficher le contenu de la db dans le champ:
myvar = new LoadVars();
myvar.onLoad = onText;
myvar.load(“script.php”);
function onText() { mydynamictextfield.text = unescape(myvar); }
Tout se passe bien, je récupère bien dans le champ texte (mydynamictextfield) myvar qui contient ce que le script php imprime. Mais est rajouté dans le champ texte, à la fin et sans retour à la ligne le code cité en premier :/. (bien évidemment le script php executé seul n’imprime pas ce bout de code)

Est-ce que quelqu’un aurait une idée de pourquoi du comment comment je peux éviter ça?

Merci : )

Je ne sais pas si ça vient de là , mais je pense voir une erreur de syntaxe …

Il manque des parenthese à l’appel de la fonction onText …

myvar.onLoad = onText();

[quote]Je ne sais pas si ça vient de là , mais je pense voir une erreur de syntaxe …

Il manque des parenthese à l’appel de la fonction onText …

myvar.onLoad = onText();[/quote]Mmm… oui c’est curieux que je n’ai pas remarqué ça… le problème c’est que quand j’écris la chose correctement… ben ça marche plus :/… myvar ne récupère pas ce que mouline le php…

Diantre, que de surprises avec ActionScript !

Bon , essaye comme cela :

myvar = new LoadVars();
myvar.load(« script.php »);
myvar.onLoad = function () { mydynamictextfield.text = unescape(myvar); }

c’est un peu plus porc … mais bon si tu n’a pas besoin de la fonction plusieurs fois ca ne posera pas de pbm…

Si ça ne fonctionne pas , je ne vois pas trop où ca chie, je suis pas un pro de LoadVars(), je passe toujours par du XML

Edit : Bourrinos Mode

Au pire , si on y arrive vraiment pas et que tout se passe bien , que le texte s’affiche impeccable, apres avoir pris le temps d’etre bien chargé , on peut tout simplement coupé le bout de la chaine qui se fourre en trop :stuck_out_tongue:

Oui c’est con , mais si c’st le seul moyen , on fera avec !
Ce message a été édité par Monsieur_Max le 15/10/2004

Ca compile et ça marche pareil… avec le bout de code en plus qui est un jojo-l’incruste d’un très bon niveau :confused:

Vais rentrer en phase de debug et essayer d’isoler ce qui ne va pas. Parser l’output et virer le texte en plus ne devrait pas marcher puisque le code n’en fait pas partie. Vais bien finir par trouver ^^

Est ce que tu passe tes variables en utf 8 ?
Parce que flash est legerement lourd avec ça.

Tu peux utiliser par exemple utf8_encode(urlencode($variable a passer)) pour les passer

Moi si j’etais toi Nolan , je me prendrais pas la tête pendant 10 ans ( productivité oblige ) je virerais les derniers caracteres emmerdants.

Si ça fonctionne ainsi et que la vraie raison est introuvable , autant avancer un peu !

myvar = new LoadVars();
myvar.load(“script.php”);
myvar.onLoad = function () { mydynamictextfield.text = unescape(myvar);
mydynamictextfield.text = mydynamictextfield.text.slice(-24);}

on fait le menage comme chez mémé on réalloue la variable avec sa propre valeur moins 24 caracteres ( les fameux =onLoad ploum ploum ).

Je sais pas si ça va marcher en direct comme ça, au pire faudra faire une variable de transition …

Bon courage Nolan !

Ce message a été édité par Monsieur_Max le 15/10/2004

[quote]Est ce que tu passe tes variables en utf 8 ?
Parce que flash est legerement lourd avec ça.

Tu peux utiliser par exemple utf8_encode(urlencode($variable a passer)) pour les passer[/quote]Ao essayé ça aussi mais même résultat.

Et ma technique old school , elle sucks ?

Laisse toi envahir par la facilité, suis le coté obscur !

[quote]Et ma technique old school , elle sucks ?

Laisse toi envahir par la facilité, suis le coté obscur ![/quote] Bin en fait j’aimerais bien mais euh… là comme ça à chaud essayé maintenant… le champ est tout vide :/. Que je définisse la fonction à part ou directement sur la variable.

Bon bon bon, on va voir ça , presque proprement (presque ):

myvar = new LoadVars();
myvar.load(“script.php”);
myvar.onLoad = onText;
function onText() {
this.TempText = unescape(myvar);
this.TempText = this.TempText…slice(-24);
mydynamictextfield.text = this.TempText; }
On a vu mieux, mais ça donnera au moins une piste si ça fonctionne … sinon bah là il faudra vraiment debugger, au pire , je te demanderai ta source pour essayer de resoudre ça

N’empeche que des fois , ActionScript fait vraiment des trucs bien tordus ! C’est courant de devoir ruser pour contourner un comportement innatendu … mais bon c’est pareil avec tous les langages …

Grmbl… undefined…

Bon… pour l’intérêt de l’humanité je vais mettre la source en ligne : )

Bon… ben finalement j’ai trouvé une solution. Le texte que récupère flash via php est une suite d’entrée donc… pas de variables mais juste un fichier texte. J’affiche le texte tel quel dans le champ texte.

Alors petit changement: je rajoute la variable “beurk” dans mon script php et dans ma fonction au lieu de unescape(tribune)
j’ai unescape(tribune.beurk)
Et voilà… le bout de code flash n’est plus là.

Merci à tout ceux qui ont participé

Aaah Ok !

Bon à savoir !

Merci d’avoir donné la solution à ton probleme en tout cas On en apprend tous les jours !