Editeur de texte et back office flash

Résolu
trek9505 Messages postés 75 Date d'inscription dimanche 22 mai 2011 Statut Membre Dernière intervention 26 mai 2011 - 17 janv. 2011 à 00:14
trek9505 Messages postés 75 Date d'inscription dimanche 22 mai 2011 Statut Membre Dernière intervention 26 mai 2011 - 21 févr. 2011 à 23:12
Bonjour,

Je cherche a réaliser un back office sur flash juste pour du texte, c'est à dire que je veux modifier le texte d'un swf, l'enregistrer et l'afficher dans un autre swf.
Il faudrait également que je puisse integrer des liens hypertexte et mettre des parties du texte en gras (depuis mon swf).

J'arrive a importer du texte depuis en fichier txt ou xml. Mais comment faire pour le reste ?

Quelqu'un aurait il la réponse stp ?

42 réponses

_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
18 janv. 2011 à 15:21
Salut :
il te faut une base de données (mysql) avec une table:

CREATE TABLE `textes` ( `id` INT NOT NULL AUTO_INCREMENT, `value` TEXT NOT NULL, PRIMARY KEY ( `id` ) ) ENGINE =   MYISAM ;


et voici le php qui irai :
<?php
header ("Content-type: text/plain; charset=utf-8");

$conn = mysql_connect('HOST','USER','PASS');
if (!$conn) die ("connexion au serveur MySQL impossible");
mysql_select_db('DATABASE');

if (!empty($_POST['action'])) {
if ($_POST['action'] == 'load') {
$qry = "SELECT value FROM textes WHERE id=".$_POST['id']." LIMIT 0,1";
$rs  = mysql_query($qry);
if (!$rs) echo mysql_error();
if (mysql_num_rows($rs) != 1) echo "Aucun enregistrement";
$rw  = mysql_fetch_assoc($rs);
echo utf8_encode($rw['value']);
} else if ($_POST['action'] == 'create' || $_POST['action'] == 'save') {
$qry $_POST['action'] 'create' ? "INSERT INTO " : "UPDATE ";
$qry .= " textes SET value='".addslashes(utf8_decode($_POST['value']))."'";
if ($_POST['action'] == 'save') $qry .= " WHERE id=".$_POST['id'];
$rs  = mysql_query($qry);
if (!$rs) echo mysql_error();
else echo "success";
}
}
?>

Il te faudra y modifier les accès a mysql, HOST, USER, PASS et DATABASE

Ensuite pour flash, voici 3 fonctions correspondantes :
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
import flash.net.URLVariables;
import flash.net.URLLoader;
import flash.events.Event;

function createText():void {
var vr:URLVariables = new URLVariables();
vr.action = 'create';
vr.value = ' mon texte  en html ... donc riche texte';
var rq:URLRequest  = new URLRequest("url.de.ton.php");
rq.method =  URLRequestMethod.POST;
rq.data = vr;
var ld:URLLoader = new URLLoader();
ld.addEventListener(Event.COMPLETE, onCreateText);
ld.load(rq);
}
function onCreateText(event:Event):void {
var ld:URLLoader = event.currentTarget as URLLoader;
ld.removeEventListener(Event.COMPLETE, onCreateText);
trace ("texte créé");
}

function saveText():void {
var vr:URLVariables = new URLVariables();
vr.action = 'save';
vr.value = ' mon  nouveau  texte  en html ... donc riche texte';
var rq:URLRequest   = new URLRequest("url.de.ton.php");
rq.method = URLRequestMethod.POST;
rq.data = vr;
var ld:URLLoader = new URLLoader();
ld.addEventListener(Event.COMPLETE, onSaveText);
ld.load(rq);
}
function onCreateText(event:Event):void {
var ld:URLLoader = event.currentTarget as URLLoader;
ld.removeEventListener(Event.COMPLETE, onSaveText);
trace ("texte mis à jour");
}

function loadText():void {
var vr:URLVariables = new URLVariables();
vr.action = 'load';
vr.id = 1;
var rq:URLRequest = new URLRequest("url.de.ton.php");
rq.method = URLRequestMethod.POST;
rq.data = vr;
var ld:URLLoader = new URLLoader();
ld.addEventListener(Event.COMPLETE, onLoadText);
ld.load(rq);
}
function onLoadText(event:Event):void {
var ld:URLLoader = event.currentTarget as URLLoader;
ld.removeEventListener(Event.COMPLETE, onLoadText);
ocurrence_txt.htmlText = String(ld.data);
}


te reste plus qu'a paramètrer php et le flash et compléter les actions dans les fonctions selon ton interface.

Bon courage ;)

Ben
Amalgam Production - Développement Web Flash PHP MySQL - Identité visuel et audiovisuel.
3
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
17 janv. 2011 à 07:23
Bonjour, pour tout ce qui est modification de fichier sur un serveur il faut obligatoirement passer par un script serveur, tels que php, asp, etc ...
Flash n'est qu'une interface, rien de plus.

Peg'
0
trek9505 Messages postés 75 Date d'inscription dimanche 22 mai 2011 Statut Membre Dernière intervention 26 mai 2011
17 janv. 2011 à 08:58
Ok,merci mais n'ayant jamais fait de php, oú puis je trouver une aide pour coder ma page stp ?
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
17 janv. 2011 à 13:11
sur le site du zero.

Peg'
0

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

Posez votre question
trek9505 Messages postés 75 Date d'inscription dimanche 22 mai 2011 Statut Membre Dernière intervention 26 mai 2011
17 janv. 2011 à 15:27
Ok, merci. Je vais regarder.
0
trek9505 Messages postés 75 Date d'inscription dimanche 22 mai 2011 Statut Membre Dernière intervention 26 mai 2011
18 janv. 2011 à 20:34
Génial merci !!! Je vais essayer.
0
trek9505 Messages postés 75 Date d'inscription dimanche 22 mai 2011 Statut Membre Dernière intervention 26 mai 2011
18 janv. 2011 à 23:15
Salut _benjy

J'ai bien suivis toute les étapes de création de code mais j'ai un soucis avec le code du flash.
J'ai une erreur qui est : 1021 : définition de fonction dupliquée.
Je pense que c'est dû a la function onCreateText mais je n'en suis pas sur.
0
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
18 janv. 2011 à 23:43
Re,
je me suis planté dans le nom de la 4eme fonction, la fonction de rappel sous le saveText doit être "onSaveText", cf la définition de l'écouteur dans "saveText". 2 fois le mm nom de fonction = variable dupliqué
Sorry mais je t'ai écris ca en 10min il faut bien relire, j'suis pas a l'abri de coquille :)
Sinon pense a valider ma réponse (la premiere) si elle t'as aidé.
++

Ben
Amalgam Production - Développement Web Flash PHP MySQL - Identité visuel et audiovisuel.
0
trek9505 Messages postés 75 Date d'inscription dimanche 22 mai 2011 Statut Membre Dernière intervention 26 mai 2011
19 janv. 2011 à 00:10
ok,merci. J'ai un dernière question(enfin j'éspère) comment je fais pour valider l'envoie du texte depuis le swf, tout fonctionne mais rien ne s'écrit dans la base de donnée.
0
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
19 janv. 2011 à 00:19
Re
Dans la variable "value" passé a php dans le saveText (ou create), il faut y mettre le contenu html de ton occurrence de texte.
soit :
vr.value = nomoccurrence_txt.htmlText;


puis il faut aussi quand mm appeler la fonction saveText (ou create si c'est la première fois)
par exemple avec un bouton et un écouteur sur le clique qui appellera la fonction de sauvegarde.
genre :
occurrence_btn.addEventListener(MouseEvent.CLICK, saveText);

attention a changé la définition de la fonction saveText pour qu'elle prenne en charge l'évènement :
function saveText(event:MouseEvent):void { ...

Idem pour createText

Moi je vais pioncé, bon courage !

Ben
Amalgam Production - Développement Web Flash PHP MySQL - Identité visuel et audiovisuel.
0
trek9505 Messages postés 75 Date d'inscription dimanche 22 mai 2011 Statut Membre Dernière intervention 26 mai 2011
19 janv. 2011 à 09:22
Ok, encore merci
0
trek9505 Messages postés 75 Date d'inscription dimanche 22 mai 2011 Statut Membre Dernière intervention 26 mai 2011
19 janv. 2011 à 23:48
Finalement j'ai encore une question, j'arrive à loader du texte depuis ma base de donnée mais parcontre je n'arrive pas a enregistrer les modifications que je fais sur le texte existant. Une idée d'ou peu provenir mon erreur ?
0
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
20 janv. 2011 à 00:12
Ben sans plus d'info non, fait toi des "trace" dans tes fonctions, et également sur les retours de PHP (si y'a une erreur elle t'es retourné)
Sinon met un FLA simple (pas toute ton appli please) a dispo par là, avec php et code as3 et je lookerai

Ben
Amalgam Production - Développement Web Flash PHP MySQL - Identité visuel et audiovisuel.
0
trek9505 Messages postés 75 Date d'inscription dimanche 22 mai 2011 Statut Membre Dernière intervention 26 mai 2011
20 janv. 2011 à 00:24
Ok je vais essayer avec des "trace" et si je ne trouve pas je t'envoie ça.
Thanks
0
trek9505 Messages postés 75 Date d'inscription dimanche 22 mai 2011 Statut Membre Dernière intervention 26 mai 2011
20 janv. 2011 à 09:12
Je ne trouve pas l'erreur donc voici mes fichiers :
https://www.yousendit.com/download/ bFlGM25ObTgwZ2swTVE9PQ
0
trek9505 Messages postés 75 Date d'inscription dimanche 22 mai 2011 Statut Membre Dernière intervention 26 mai 2011
20 janv. 2011 à 09:16
a cette adresse
le premier lien ne fonctionne pas
0
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
20 janv. 2011 à 13:07
il manque l'identifiant "id" de l'enregistrement a sauvegarder dans la base
dans "saveText" il faut :

var vr:URLVariables = new URLVariables();
vr.action = 'save';
vr.id = 1; // le mm utilisé que dans le loadText ...
vr.value = ocurrence_txt.htmlText;

si t'avais tracé le retour de php de la fonction save texte tu l'aurais vu ;)

Ben
Amalgam Production - Développement Web Flash PHP MySQL - Identité visuel et audiovisuel.
0
trek9505 Messages postés 75 Date d'inscription dimanche 22 mai 2011 Statut Membre Dernière intervention 26 mai 2011
20 janv. 2011 à 15:04
Un jour je comprendrais le php. Merci.
0
trek9505 Messages postés 75 Date d'inscription dimanche 22 mai 2011 Statut Membre Dernière intervention 26 mai 2011
20 janv. 2011 à 20:56
je viens d'essayer et finalement ça ne fonctionne toujours pas. J'ai sans doute oublié quelque chose, une idée ?
0
_benjy Messages postés 1575 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 21 février 2011 2
21 janv. 2011 à 13:24
Ouai enfin t'as même pas corrigé l'histoire de l'id que je t'ai indiqué plus haut :( ! pas cool ! faut absolument que tu le corrige.
bon sinon 1 chose : le code php que je t'ai filé ne doit pas etre encadré dans de l'html
il ne faut QUE le php dans le fichier, vire tout l'html.
Ensuite vire la premiere ligne "header(..."
et corrige ligne 13 "echo utf8_encode($rw['value']);" par "echo stripslashes(utf8_encode($rw['value']));"
un rezip du tout, attention au parma php et url dans flash a rechanger
http://www.amalgam-production.com/backoffice.zip

Ben
Amalgam Production - Développement Web Flash PHP MySQL - Identité visuel et audiovisuel.
0
Rejoignez-nous