FAQ Flash 5
FAQ Flash 5Consultez toutes les FAQ
Nombre d'auteurs : 4, nombre de questions : 49, dernière mise à jour : 16 juin 2021
Prenons l'exemple d'un formulaire composé de deux champs ("nom" et "prenom")
Sur la séquence principale, créez trois images clés, que vous nommerez :
- Image 1 --> form
- Image 2 --> patienter
- Image 3 --> resultat
Sur la première frame (form) :
Créez deux "texte de saisie" (cf : Quels sont les différents modes de texte ?) auxquels vous assignerez respectivement les variables nom et prenom, ainsi qu'un bouton de validation que vous nommerez valider et enfin un champs de "texte dynamique" qui sera sur les trois frames, dont la variable associée sera reponse.
Sur cette frame écrivez les lignes de code suivantes :
nom =
""
;
prenom =
""
;
// cette variable permettra de renvoyer si oui ou non tout c'est bien déroulé
reponse =
""
;
_root
.
valider.
onPress
=
function
(
) {
loadVariables
(
"letter.asp"
,
""
,
"POST"
);
// ou
// loadVariables("letter.php", "", "POST");
_root
.
gotoAndStop
(
"patienter"
);
// on se place sur l'image clé patienter
}
stop
(
);
Sur la deuxième frame (patienter) :
Créez ici un clip d'attente, de type loading
Sur cette frame écrivez les lignes de code suivantes :
this
.
onData
=
function
(
) {
if
(
valid ==
"0"
) {
reponse =
"Tout c'est bien déroulé"
;
_root
.
gotoAndPlay
(
"resultat"
);
}
else
{
reponse =
"Une erreur a empeché la validation, merci de contacter un administrateur"
;
_root
.
gotoAndPlay
(
"resultat"
);
}
}
stop
(
);
Ainsi sur la troisième frame (resultat) il y a juste besoin du champ texte reponse
Quand aux documents qui permettront la liaison vers la base de données :
ASP (letter.asp) :
<
%
'****connexion à la base de données****
' ici votre code
'****Récupération des données****
nom =
Request
.Form
(
"nom"
)
prenom=
Request
.Form
(
"prenom"
)
'****Insertion dans la base****
dim
RS
Set
RS=
Server
.CreateObject
(
"ADODB.Recordset"
)
RS.Open
"Insert Into votre_table (nom,prenom) Values ('"
&
nom&
"','"
&
prenom&
"')"
, Connection
response
.write
"valid=0"
%>
Les méthodes loadVariables et loadVariablesNum permettent de récupérer des données d'un fichier texte. Elles fonctionnent quasiment de la même manière : Deux frames sont nécessaires, une troisième (pour vérifier l'arrivée des données) est conseillée.
Supposons que nous ayons deux variables titre et texte à récupérer, Le fichier texte devra alors ressembler à ceci :
loaded=1&titre=Flash 5&texte=Ce texte, issu d'un fichier texte, a été récupéré grâce à la fonction loadVariablesNum :D
Sur une première frame, mettre au choix, pour la récupération des données :
loadVariables
(
"loadVariables_f5.txt"
,
""
);
loadVariablesNum
(
"loadVariablesNum_f5.txt"
,
0
,
"POST"
);
Ensuite, nous allons tester si l'importation s'est bien déroulée (Si loaded est différent de 1, la récupération a echoué !)
if
(
loaded
==
"1"
) {
gotoAndStop
(
3
);
}
else
{
texte =
"Problème lors du chargement"
;
gotoAndStop
(
3
);
}
Enfin, dans la 3e dernière frame, les variables sont directement utilisables. Nous pouvons, par exemple, créer deux champs texte dynamiques avec comme nom de variables titre et texte pour les afficher.
Pour cela il faut que les données importées dans Flash soient en UTF-08. Cela se traduit de cette manière:
Pour un fichier, celui doit être enregistrer en UTF-8 (Enregistrer sous dans le Bloc-Note Windows par exemple)
Pour une page php, il faut mettre, en début de page :
UTF8_encode($mavariable
);
Pour une page asp:
Session.Codepage = 65001
Pour une page asp.net:
Response.
ContentEncoding =
Encoding.
UTF8;
Response
.ContentEncoding
=
Encoding.UTF8
Oui c'est possible, mais c'est trés fortement déconseillé, car pour qu'un swf s'affiche directement dans un mail il est nécessaire que le destinataire ait un niveau de securité bas.
Or par défaut il est moyen, donc il y a trés peu de chance que cela marche !
Par conséquent, nous vous conseillons plutôt de placer votre animation sur une page web et d'insérer un lien vers cette page dans l'email.