Editeur de texte et back office flash [Résolu]

trek9505 76 Messages postés dimanche 22 mai 2011Date d'inscription 26 mai 2011 Dernière intervention - 17 janv. 2011 à 00:14 - Dernière réponse : trek9505 76 Messages postés dimanche 22 mai 2011Date d'inscription 26 mai 2011 Dernière intervention
- 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 ?
Afficher la suite 

42 réponses

Répondre au sujet
_benjy 1637 Messages postés vendredi 23 avril 2004Date d'inscription 21 février 2011 Dernière intervention - 18 janv. 2011 à 15:21
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de _benjy
pegase31 6161 Messages postés dimanche 21 décembre 2003Date d'inscription 4 septembre 2013 Dernière intervention - 17 janv. 2011 à 07:23
0
Utile
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'
Commenter la réponse de pegase31
trek9505 76 Messages postés dimanche 22 mai 2011Date d'inscription 26 mai 2011 Dernière intervention - 17 janv. 2011 à 08:58
0
Utile
Ok,merci mais n'ayant jamais fait de php, oú puis je trouver une aide pour coder ma page stp ?
Commenter la réponse de trek9505
pegase31 6161 Messages postés dimanche 21 décembre 2003Date d'inscription 4 septembre 2013 Dernière intervention - 17 janv. 2011 à 13:11
0
Utile
sur le site du zero.

Peg'
Commenter la réponse de pegase31
trek9505 76 Messages postés dimanche 22 mai 2011Date d'inscription 26 mai 2011 Dernière intervention - 17 janv. 2011 à 15:27
0
Utile
Ok, merci. Je vais regarder.
Commenter la réponse de trek9505
trek9505 76 Messages postés dimanche 22 mai 2011Date d'inscription 26 mai 2011 Dernière intervention - 18 janv. 2011 à 20:34
0
Utile
Génial merci !!! Je vais essayer.
Commenter la réponse de trek9505
trek9505 76 Messages postés dimanche 22 mai 2011Date d'inscription 26 mai 2011 Dernière intervention - 18 janv. 2011 à 23:15
0
Utile
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.
Commenter la réponse de trek9505
_benjy 1637 Messages postés vendredi 23 avril 2004Date d'inscription 21 février 2011 Dernière intervention - 18 janv. 2011 à 23:43
0
Utile
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.
Commenter la réponse de _benjy
trek9505 76 Messages postés dimanche 22 mai 2011Date d'inscription 26 mai 2011 Dernière intervention - 19 janv. 2011 à 00:10
0
Utile
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.
Commenter la réponse de trek9505
_benjy 1637 Messages postés vendredi 23 avril 2004Date d'inscription 21 février 2011 Dernière intervention - 19 janv. 2011 à 00:19
0
Utile
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.
Commenter la réponse de _benjy
trek9505 76 Messages postés dimanche 22 mai 2011Date d'inscription 26 mai 2011 Dernière intervention - 19 janv. 2011 à 09:22
0
Utile
Ok, encore merci
Commenter la réponse de trek9505
trek9505 76 Messages postés dimanche 22 mai 2011Date d'inscription 26 mai 2011 Dernière intervention - 19 janv. 2011 à 23:48
0
Utile
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 ?
Commenter la réponse de trek9505
_benjy 1637 Messages postés vendredi 23 avril 2004Date d'inscription 21 février 2011 Dernière intervention - 20 janv. 2011 à 00:12
0
Utile
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.
Commenter la réponse de _benjy
trek9505 76 Messages postés dimanche 22 mai 2011Date d'inscription 26 mai 2011 Dernière intervention - 20 janv. 2011 à 00:24
0
Utile
Ok je vais essayer avec des "trace" et si je ne trouve pas je t'envoie ça.
Thanks
Commenter la réponse de trek9505
trek9505 76 Messages postés dimanche 22 mai 2011Date d'inscription 26 mai 2011 Dernière intervention - 20 janv. 2011 à 09:12
0
Utile
Je ne trouve pas l'erreur donc voici mes fichiers :
https://www.yousendit.com/download/ bFlGM25ObTgwZ2swTVE9PQ
Commenter la réponse de trek9505
trek9505 76 Messages postés dimanche 22 mai 2011Date d'inscription 26 mai 2011 Dernière intervention - 20 janv. 2011 à 09:16
0
Utile
a cette adresse
le premier lien ne fonctionne pas
Commenter la réponse de trek9505
_benjy 1637 Messages postés vendredi 23 avril 2004Date d'inscription 21 février 2011 Dernière intervention - 20 janv. 2011 à 13:07
0
Utile
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.
Commenter la réponse de _benjy
trek9505 76 Messages postés dimanche 22 mai 2011Date d'inscription 26 mai 2011 Dernière intervention - 20 janv. 2011 à 15:04
0
Utile
Un jour je comprendrais le php. Merci.
Commenter la réponse de trek9505
trek9505 76 Messages postés dimanche 22 mai 2011Date d'inscription 26 mai 2011 Dernière intervention - 20 janv. 2011 à 20:56
0
Utile
je viens d'essayer et finalement ça ne fonctionne toujours pas. J'ai sans doute oublié quelque chose, une idée ?
Commenter la réponse de trek9505
_benjy 1637 Messages postés vendredi 23 avril 2004Date d'inscription 21 février 2011 Dernière intervention - 21 janv. 2011 à 13:24
0
Utile
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.
Commenter la réponse de _benjy

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

editeur de texte et back office flash - page 2