Probleme entre flash et php avec les apostrophe et les balises <>

Résolu
realmfusion Messages postés 10 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 4 décembre 2007 - 6 nov. 2007 à 17:06
bloodstar98748 Messages postés 4 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 26 octobre 2011 - 25 mai 2009 à 23:22
Bonjour,
Alors voila, j'ai un petit probleme, je cherche sur internet et partout partout j'ai essayé pleins de chose mais ca ne marche pas!
Je vous expose mon probleme! Alors en fait je veux faire de la gestion de news avec le texte des news stocké sur un .txt pas de base de donnée pour pusieur raisons. Alors pour cela j'ai un .swf qui écrit via un fichier php sur le .txt puis un second .swf récupere le texte et l'affiche. Le probleme c'est que je voudrais pouvoir écrire depuis le .swf d'administration de l'HTML hors il ne prend pas les balises <> il les transforme en &gt; et &lt; les stock sous cette forme sur le .txt mais rien ne s'affiche sur le second .swf .

Le fichier .swf administration:
un champ de saisie avec une variable nommée txtnews
un bouton avec comme code AS =>
on (release) {getURl ("ecrireinfo.php", "_blank", "POST");}

Voila le code du fichier PHP:
<?php
$f=fopen("news.txt","a+");


# fonction permettant l'encodage des caractères accentués
function getFormatedText($texte){
$texte =utf8_decode($texte);
$texte =eregi_replace( "\r", "\n", $texte);
$texte =stripcslashes($texte);
return $texte;
}
# fin de la fonction


$txtnews=getFormatedText($txtnews);


fwrite($f,"\r\n\r\n");
fwrite($f,"&msg=\t$txtnews\r\n");
fclose($f);
?>

Dans le fichier .txt il écrit des ligne comme ca => &msg= <TEXTFORMAT LEADING="2">bla&apos;ble&gt;&lt;

</TEXTFORMAT>

Pour afficher dans le .swf du site je fais ca sur la premiere frame => loadVariablesNum("news.txt",0);
puis j'ai un champ de texte dynamique avec pour variable "msg". Mais le pb est la car rien ne s'affiche! Enfin plutot des qu'on arrive sur &apos; ou &gt; ou &lt; plus rien ne s'affiche. Par exemple avec <TEXTFORMAT LEADING="2">bla&apos;ble&gt;&lt;

</TEXTFORMAT> seul "bla" s'écrit le reste à disparu.

Je suis sur Flash CS3 avec AS2! Si qq'un peut m'aider, ca serai un grand soulagement ca fait deux jours que je cherche et la il me faut une vision exterieur sinon je ne trouverai pas! Merci d'avance!

go to http://realmfusion.free.fr

9 réponses

cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 2
7 nov. 2007 à 08:53
Pourquoi tu mets pas ça dans un fichier XML (mieux structuré et qui possède notamment les balises CDATA qui permettent de garder un texte tel que tu l'écris dans le fichier, genre les "&", apostrophes, ...).

Ensuite, y'a quelques lignes de code en plus à mettre dans ton Flash, mais pas grand chose.

Si tu veux garder ton TXT, essaie éventuellement de rajouter un caractère d'échappement devant tes apostrophes ou guillemets "" et rajoute des guillemets autour de ce que contient ta variable

Par exemple : &msg="...l\'école est finie..." (à tester, c'est juste une idée, moi je partirais plutôt sur l'XML)

@+! Samy
3
realmfusion Messages postés 10 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 4 décembre 2007
7 nov. 2007 à 09:36
Bonjour, avant tout merci pour ta réponse Samy!

Donc j'ai testé essayé de rajouter un caractère d'échappement devant les apostrophes ou guillemets "" et j'ai rajouté des guillemets autour de ce que contient ta variable, comme tu m'as conseillé. Malheureusement, ça ne fonctionne toujours pas!
Apres je n'ai pas utilisé le XML car je ne sais pas écrire dedant depuis un .swf et je ne sais pas utiliser les CDATA. Je vais chercher donc pour utiliser un fichier XML, je pense qu'il doit y avoir qq sources sur ce merveilleux site!
Encore merci, et si tu connais une source "sûr" pour l'utilisation des CDATA avec flash et XML; je suis preneur!
respect!
a+
go to http://realmfusion.free.fr
3
cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 2
7 nov. 2007 à 10:48
Tu peux t'inspirer de ça pour le sendAndLoad (fonction "envoi mail" dans cet exemple) :
http://www.flashxpress.net/forum/archive/index.php/t-63305.html

Et pour le XML :
http://www.laltruiste.com/document.php?url=http://www.laltruiste.com/coursxml/cdata.html

pour écrire dans le XML tu passes par PHP.

@+! Samy
3
realmfusion Messages postés 10 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 4 décembre 2007
7 nov. 2007 à 11:29
Encore merci!
Bon alors pour la lecture du XML je n'ai pas de probleme!
Code XML:
<NEWS>
 News du 7/11 |
Donc voila je test.

 Autre news |
blabla l'apostrophe
 
  testhtml |
le liens pour google here
</NEWS>

Et je lis dans mon .swf de lecture avec le code AS suivant:
xmlNews = new XML();
xmlNews.onLoad = affichageNews;
xmlNews.load("news.xml");
function affichageNews() {
 txt = xmlNews.firstChild.toString();     //txt étant la variable de mon champs de texte
}

Jusque la ca va!
Par contre comment écrire entre les deux balises <NEWS> et </NEWS> sans éffacer les ligne du dessus cad pouvoir rajouter une ligne sans effacer les autres?
merci par avance!
go to http://realmfusion.free.fr
3

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

Posez votre question
cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 2
7 nov. 2007 à 11:49
En fait un fichier XML c'est structuré, donc moi je te conseille d'utiliser un noeud par news:

<?...première ligne standard (faire une p'tite recherche) ?>
<racine>
    <news id= "1">
        News du 7/11 |
Donc voila je test.

    </news>
    <news id ="2">
         Autre news |
blabla l'apostrophe

    </news>
</racine>

@+! Samy
3
realmfusion Messages postés 10 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 4 décembre 2007
2 déc. 2007 à 20:22
Bonjour samy!
Bon j'ai réussi à réaliser ce que je voulais faire avec un fichier txt!
Je te remercie encore pour ton aide, qui m'a guidé pour la resolution de mon probleme!
A+

go to http://realmfusion.free.fr
3
piloufHLM Messages postés 2 Date d'inscription dimanche 24 décembre 2000 Statut Membre Dernière intervention 28 avril 2009
28 avril 2009 à 16:54
bande de cons!!!
0
piloufHLM Messages postés 2 Date d'inscription dimanche 24 décembre 2000 Statut Membre Dernière intervention 28 avril 2009
28 avril 2009 à 16:55
excusez mon emportement :)
0
bloodstar98748 Messages postés 4 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 26 octobre 2011
25 mai 2009 à 23:22
Bonsoir,

Je fais un UP de ce post car il ressemble à mon problème
Je suis sous flash, j'appel un fichier php pour écrire dans mon fichier texte.
Tout marche bien, m'ai lorsque je tape du texte avec un apostrophe, il y a un backslash qui apparait dans mon fichier texte. J'ai vu sur le net qu'il y a des metodes comme : "addslash" "stripslash" mais je ne vois pas comment mettre ça en place car je m'y connais pas trop en php.

Voici mon code php :

<?
// xname, xfname, xaddress, xzipcode, xcity
header('Content-type: text/html; charset=UTF-8');


$data = array();
$data[0] = $_GET['xname'];
$data[1] = $_GET['xfname'];
$data[2] = $_GET['xaddress'];
$data[3] = $_GET['xzipcode'];
$data[4] = $_GET['xcity'];


 


// si tous les champs sont remplis, écrit dans le fichier


$checksum = 0;
for ($i=0; $i<1; $i++)
   if ($data[$i] != "")
   {
     $data[$i] = strip_tags($data[$i]);
     $checksum++;
   }
$filename = ("seb.txt");




if ( $checksum == 1 )
{
   if ( $fp = fopen( $filename, "w"))
   {
     for ($i=0; $i<1; $i++) fputs( $fp, "\&datalist=$data[$i]  ");
     fputs( $fp, "\n" );
     fclose ( $fp );
   }
}


?>

Pouvez-vous m'aidez ? merci
0
Rejoignez-nous